C语言 刚学的 这个我写的 怎么输出的结果不对啊 我用计算器算得结果 输出的不一样 哪错了

main()
{
int a;
a = 5252%2842;
printf( "%d" ,a);

getch();
}

第1个回答  2011-08-31
计算机的%是除,c语言的%是 求余数,你是求余数还是求值?
这个求的是余数,如果要求值,跟计算机得一样的话,double a;
a=5252.0/2842.0;即可!数字后多加个.0,不然求出的是整除结果!
if(c/10000!=0)

else if(c/1000!=0)

else if(c/100!=0)

else if(c/10!=0)

else
这段代码有问题:if...elseif...else这是选择结构的并且是择其一的,也就是说如果第一个条件成立的话,后面的就不会进行了,那么只对b1进行了赋值,其他变量并没有赋值,而变量如果没有被赋值的话,系统就会默认赋值为整型的最小值,所以输出结果就不对了。
如果你不想改变整个程序的话,你也可以采取直接换成都是if语句。也可以采取上面同学说的while循环,这样相对简洁些。
第2个回答  2011-08-29
if(c/10000!=0)

else if(c/1000!=0)

else if(c/100!=0)

else if(c/10!=0)

else

这段代码有问题:if...elseif...else这是选择结构的并且是择其一的,也就是说如果第一个条件成立的话,后面的就不会进行了,那么只对b1进行了赋值,其他变量并没有赋值,而变量如果没有被赋值的话,系统就会默认赋值为整型的最小值,所以输出结果就不对了。
如果你不想改变整个程序的话,你也可以采取直接换成都是if语句。也可以采取上面同学说的while循环,这样相对简洁些。
第3个回答  2011-08-29
计算机的%是除,c语言的%是 求余数,你是求余数还是求值?
这个求的是余数,如果要求值,跟计算机得一样的话,double a;
a=5252.0/2842.0;即可!数字后多加个.0,不然求出的是整除结果!追问

main()
{
int a;
a =4+16;
printf( "%d" ,a);

getch():

}
我试验了一下 有没有 getch(): 都能 输出 结果页是对的 这个东西 有什么功能

追答

兄弟,我建议你在去看看c语言基础吧,谭浩强的还可以 !1

第4个回答  2011-08-29
int a;
a是一个整型数。
所以a = 5252%2842;求出得结果也是一个整型数,去掉小数(不是四舍五入,是直接去掉)。追问

别人都说 写的代码要规范 我的是不是很乱 你能写歌规范给我看下嘛
我的是照例子写的

追答

不好意思。我也没学多久。规范没有。。这些都要靠平时积累的。基本上先照书上的写。
以后有机会了跟NB人学一学

追问

问下5252%2842;求出得结果 怎么写 才能 跟计算器的结果一样

追答

double a,b=5252,c=2842;
a=b%c;

本回答被网友采纳
第5个回答  2011-08-29
你前面都定义成整形,后面得到的当然也是整数
相似回答