有个C的程序.请大家看下..有什么问题~~谢谢

来源:百度知道 编辑:UC知道 时间:2024/07/06 15:21:51
#include<stdio.h>
main()
{
int g,s,c,d;
printf("please input g:\n");
scanf("%d\n",&g);
if(g>=2000)
c=4;
else
c=g/400;
switch(c)
{
case 0:d=0;break;
case 1:d=5;break;
case 2:d=8;break;
case 3:
case 4:d=20;break;
}
s=(g-400*c)*(d%);
printf("shui:%d\n",s);
}

你到底想作什么?没有什么要求啊。。。scanf("%d\n",&g); 不对,应该是scanf("%d",&g); 还有switch()不对,case列举不完全,应该有一个default项。。。s=(g-400*c)*(d%);不知道你想做什么。。d% 是什么?

default可以不要吧?只有01234 5个可能啊``好象是根据G的值判断D的值 不过s=(g-400*c)*(%d)就不懂了

s=(g-400*c)*(d%);好像不正确,d%是一个什么运算呢?%可以是求余数例如:-6%4=-2, 6%4=2(% 运算两侧必须是整数!)此处运算错误!d是一个整型数据,%后面也应该跟一个整型数据才可以!
另外,case 3: 后面最好也加上一个break语句!防止程序出现不必要的错误!