| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 429 人关注过本帖
标题:大神们,求解答!!!!有什么问题,运行时会发生错误
只看楼主 加入收藏
zplove月光
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-10-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
大神们,求解答!!!!有什么问题,运行时会发生错误
#include <stdio.h>
#include <math.h>
main()
{
    char a,Y;
    printf("请确认是否开算数平方根Y/N?");
    scanf("%c",&a);
    if(a==Y)
        {
        int p,k;
        printf("请输入整数");
        scanf("%d",&p);
        k=sqrt(p);
        printf("%d",k);
        }
        else
        {
        char m;
        float num1,num2,result;
        printf("\n请输入一个运算符字符:  ");
        scanf("%c",&m);
        printf("\n请输入第一个数: ");
        scanf("%f",num1);
        printf("\n请输入第二个数: ");
        scanf("%f",num2);
        switch(m) /*根据运算符号计算*/
        {
    case '+':result=num1+num2;break; /*做加法*/
    case '-':result=num1-num2;break; /*做减法*/
    case '*':result=num1*num2;break; /*做乘法*/
    case '/':result=num1/num2;break; /*做除法*/
        }
    }
}
搜索更多相关主题的帖子: include result 平方根 
2014-10-03 21:49
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:4 
a,Y都是字符变量.

当你输入完毕后,a==Y几乎可以说永远不可能成立. 因为你不知道系统为他们分配的内存中究竟存储着什么内容.

代码测试环境:  WinXP+C-Free5.0.
2014-10-03 22:18
魑魅魍魉!
Rank: 3Rank: 3
来 自:亲爱MM肚子里!
等 级:论坛游侠
威 望:1
帖 子:61
专家分:149
注 册:2014-5-3
收藏
得分:4 
应该是 a=='Y'  吧!
2014-10-03 23:29
kal
Rank: 2
等 级:论坛游民
帖 子:12
专家分:11
注 册:2014-10-3
收藏
得分:4 
应该是'Y'==a
另外借用一下楼层我也问个问题
#include <stdio.h>

bool Isprem (int i) //判断一个数是否为素数
{
    int j;

    for (j=2;j<i;j++)
    {
        if (0==i%j)
            break;
    }
    if (j>=i)
        return true;
    else
        return false;

}
void g(int val) //找出从1到某个数之间的素数
{
    int i,j;
    j=0;
    for ( i=1; i<=val; i++)
    {
        if ( Isprem(i) )
        {
            printf ("%-5d ", i);
            j++;
        }
        if ( 10 == j ) //每输出10个数就换到下一行
        {
            printf ("\n");
            j=0;
        }
    }

}

int main (void)
{
    char ch;
    int val;
    do
    {
        
        printf ("请输入要求素数的数字\n");
        scanf ("%d", &val);
        g(val);
        printf ("\n");
        printf ("是否继续,继续输入Y或y,否则按任意键 \n");
        scanf ("%c", &ch);
    }while ('Y'==ch || 'y'==ch);
}
我这程序想要循环但是不能循环成功,没法输y或Y
2014-10-03 23:33
kal
Rank: 2
等 级:论坛游民
帖 子:12
专家分:11
注 册:2014-10-3
收藏
得分:0 
楼主你这程序有四处问题
1、  'Y'==a
2、 应该在scanf("%c",&a);后面加上getchar();  //防止计算机把上个字符输入时的回车键当字符输入
3、你输两个数字时没加取地址符&
4、同3,第二个数你也没加&
2014-10-04 09:56
dcl2014
Rank: 4
等 级:业余侠客
威 望:1
帖 子:58
专家分:273
注 册:2014-9-20
收藏
得分:4 
学习了 很好啊
2014-10-04 09:58
快速回复:大神们,求解答!!!!有什么问题,运行时会发生错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026186 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved