|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
有空的大虾帮忙看一下,问题在图里,源码在图下面:
/*
题目:对候选人得标的统计程序。设有4个候选人,每次输入一个得标的候选人的名字,
要求最后输出各人得标结果
*/
#if(1)
#include <stdio.h>
#include <string.h>
int main()
{
for (;1;)
{
struct tp
{
char *a1; //小甲鱼
char *a2; //苍井空
char *a3; //松岛枫
char *a4; //莫丁丁
char temp[20]; //接收输入的候选人的名
int a; //小甲鱼得票次数
int b; //苍井空得票次数
int c; //松岛枫得票次数
int d; //莫丁丁得票次数
}arr={"小甲鱼","苍井空","松岛枫","莫丁丁",0,0,0,0,0};
int i;
printf("欢迎进入良好公民评选投票系统()\n\n");
printf("候选人有:%-10s%-10s%-10s%-10s\n\n ",arr.a1,arr.a2,arr.a3,arr.a4);
//问题2:如写在没有输入性名的时候按回车结束循环,继续往下执行?
for (i=1;i<=10;i++) //接收候选人输入,并记录得票数
{
printf("第 %d 位投票,请写下支持的候选人名字:",i); //问题1:第一行总是多一个空格。
gets(arr.temp); //接收候选人输入
if(strcmp(arr.temp,arr.a1)==0) //比较输入是的不是小甲鱼
{
arr.a++; //如果是记录得一票
}
if(strcmp(arr.temp,arr.a2)==0) //比较输入是的不是苍井空
{
arr.b++; //如果是记录得一票
}
if(strcmp(arr.temp,arr.a3)==0) //比较输入是的不是松岛枫
{
arr.c++; //如果是记录得一票
}
if(strcmp(arr.temp,arr.a4)==0) //比较输入是的不是莫丁丁
{
arr.d++;
}
}
printf("\n\n");
printf("%s 同学得票数为:%d\n",arr.a1,arr.a); //打印各个候选人票数
printf("%s 同学得票数为:%d\n",arr.a2,arr.b);
printf("%s 同学得票数为:%d\n",arr.a3,arr.c);
printf("%s 同学得票数为:%d\n",arr.a4,arr.d);
printf("\n\n");
if(arr.a<arr.b) //比较谁的票数最高,票数最高的名保存在arr.a1属性里
{
arr.a1=arr.a2;
}
if(arr.a<arr.c)
{
arr.a1=arr.a3;
}
if(arr.a<arr.d)
{
arr.a1=arr.a4;
}
printf("\n本次投票活动的胜利者是:%s\n",arr.a1);
printf("请按任意键继续....\n");
getch();
}
}
#endif
|
|