请能解决掉这道C语言题

来源:百度知道 编辑:UC知道 时间:2024/09/18 04:14:11
从键盘输入一列以0作为结束的数字,统计其中能被3整除但不能被5整除的数的个数。
#include<stdio.h>
void main()
{
int count=0,i;
char c[10];
printf("Please input numbers:\n");
scanf("%s",&c);
for(i=0;i<10;i++)
{
if((int)c[i]==0) break;
if((int)c[i]%3==0&&((int)c[i]%5)!=0) count++;
}
printf("%d",count);
}
这个程序错在哪啦!

你这个代码,能统计的只是一位数的情况,在输入的数字中还没有能被3整除,但又不能被整除的....有需要加我QQ75811753

char型的数据强制转换为int型是变成的是ascii码
比方说c[0]='0' 转化为int型时对应的ascii码是48这个数字,而不是0这个数字
应该是if(((int)c[i]-48)==0) break;
下一行自己改。
所以你的程序错了。