我这个程序有什么问题?else if(x%5==0)中的%不合法???

#include"stdio.h"
void main()
{
float x;
printf("\n输入1个数x:\n");
scanf("%f",&x);
if(x%3==0)
if(x%5==0)
printf("能被3整除,也能被5整除\n");
else
printf("能被3整除,但不能被5整除\n");
else if(x%5==0)
printf("能被5整除,但不能被3整除\n");
else
printf("不能被3或5整除\n");

}

第1个回答  2013-07-27
if(x%3==0)
if(x%5==0)
上面的那块出问题了,条件嵌套记得把要加的大括号加上去,否则会造成ELSE不匹配或匹配到不应该的地方去了.
还有,在C语言中%只能用于整数类型,所以你把float x; 改成int x;才行.
另外,注意下你的代码最好规整些,要有必要的缩进,最后修改完成的代码如下:

#include"stdio.h"
void main()
{
int x;
printf("\n输入1个数x:\n");
scanf("%d",&x);
if(x%3==0)
{
if(x%5==0)
printf("能被3整除,也能被5整除\n");
else
printf("能被3整除,但不能被5整除\n");
}
else if(x%5==0)
printf("能被5整除,但不能被3整除\n");
else
printf("不能被3或5整除\n");
}
第2个回答  2013-07-27
是X的类型定义错了,对于浮点数是不能取模的,而不是加大括号的事,

对于一个句子是没必要加大括号的,当然为了好看也可以加

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网