关于选举唱票的C语言的题
答案:1 悬赏:10
解决时间 2021-01-27 13:34
- 提问者网友:暮烟疏雨之际
- 2021-01-26 23:13
关于选举唱票的C语言的题
最佳答案
- 二级知识专家网友:神也偏爱
- 2021-01-26 23:32
如果输入完全按照要求做的话,程序没问题啊,只不过 n 不能大于99,并且要求投票数字只能是1~9中的数字
#include
int main()
{
int A,B,C,D,E,Feipiao,i=0,n,s[100];
A=B=C=D=E=Feipiao=0;
char c;
scanf("%d",&n);
if (n!=0)
{
getchar();
while ((c=getchar())!='
')
//没有限制用户输入数据的个数,若超出100个,会导致溢出
{
if (c>='0'&&c<='9') //无法输入10以上的数字
s[i++]=c-'0';
}
}
s[i]='';//使用 0 作为数组结束的标志
i=0;
while (s[i]!='')//如果投票数字中含有 0 的话,会导致程序结果出错
{
if(i switch (s[i++])
{
case 1:A++;break;
case 2:B++;break;
case 3:C++;break;
case 4:D++;break;
case 5:E++;break;
default :Feipiao++;break;
}
else i++;
}
if (i>n)//若第二行输入数据的个数大于 n+1 个的话,会执行这一分支(没有包含等于 n+1 这种情况)
{
Feipiao+=(i-n);// i-n 是因为输入错误导致而多出的票数
}
printf("A:%d
B:%d
C:%d
D:%d
E:%d
Feipiao:%d
",A,B,C,D,E,Feipiao);
return 0;
}欢迎追问和评论
#include
int main()
{
int A,B,C,D,E,Feipiao,i=0,n,s[100];
A=B=C=D=E=Feipiao=0;
char c;
scanf("%d",&n);
if (n!=0)
{
getchar();
while ((c=getchar())!='
')
//没有限制用户输入数据的个数,若超出100个,会导致溢出
{
if (c>='0'&&c<='9') //无法输入10以上的数字
s[i++]=c-'0';
}
}
s[i]='';//使用 0 作为数组结束的标志
i=0;
while (s[i]!='')//如果投票数字中含有 0 的话,会导致程序结果出错
{
if(i
{
case 1:A++;break;
case 2:B++;break;
case 3:C++;break;
case 4:D++;break;
case 5:E++;break;
default :Feipiao++;break;
}
else i++;
}
if (i>n)//若第二行输入数据的个数大于 n+1 个的话,会执行这一分支(没有包含等于 n+1 这种情况)
{
Feipiao+=(i-n);// i-n 是因为输入错误导致而多出的票数
}
printf("A:%d
B:%d
C:%d
D:%d
E:%d
Feipiao:%d
",A,B,C,D,E,Feipiao);
return 0;
}欢迎追问和评论
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯