设有代号为’a’,’b’,’c’的三个足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别记分5,3,2。 请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。注意:若同一张票上写有两个相同的代号,则显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则显示三个候选者得分并输出“祝贺X当选冠军!”。
#include<stdio.h>
#include<conio.h>
struct houxuanren{
int id;
int point; //定义结构体变量表示候选人包含的信息,包括编号和得分//
}
main()
{
int i=0,j=0,k,temp=0;
char x,y,z;
struct houxuanren hxr[3];
for(i=0;i<3;i++){
hxr[i].id=i;
hxr[i].point=0;
}
printf("请输入投票总人数\n");
scanf("%d",&k);
printf("请输入投票\n");
getchar();
for(i=1;i<=k;i++){
scanf("%c%c%c",&x,&y,&z);
getchar();
if(x!=y&&x!=z&&y!=z){ //判断输入的投票中不能有重复的编号//
hxr[0].point+=(x=='a'?5:(y=='a'?3:(z=='a'?2:0))); //第一个候选人的得分情况和算法//
hxr[1].point+=(x=='b'?5:(y=='b'?3:(z=='b'?2:0))); //第二个候选人的得分情况和算法//
hxr[2].point+=(x=='c'?5:(y=='c'?3:(z=='c'?2:0))); //第三个候选人的得分情况和算法//
printf(" point: %d %d %d\n",hxr[0].point,hxr[1].point,hxr[2].point);
continue;
}
printf("此票作废\n");
}
for(i=0;i<3;i++){
if(temp<hxr[i].point){ //表示I个候选人的得分情况并进行最大值的比较和赋值//
temp=hxr[i].point;
j='a'+i;
}
printf("people %c point %d\n",'a'+hxr[i].id,hxr[i].point);
}
if(((hxr[0].point==hxr[1].point)&&hxr[0].point>hxr[2].point&&hxr[1].point>hxr[2].point)
||( (hxr[0].point==hxr[2].point)&&hxr[0].point>hxr[1].point&&hxr[2].point>hxr[1].point)
||((hxr[1].point==hxr[2].point)&&hxr[1].point>hxr[0].point&&hxr[2].point>hxr[0].point))
printf("重新投票\n"); //若有前两名得分相同进行重新投票//
else{
printf("获胜者是 people %c\n",j);
}
getch();
}
以上是源代码
但是老师要求投票信息从文本文档中调入 结果输出到另一个文本文档中
应该怎么改
例如
从d盘1.txt中读取 输入到2.txt中 1.txt内容为
a b c
c a b
b a c
这种格式的
求解答