实在不会写,求助各位!
/*8.为某国总统大选建立一个统计候选人得票的程序。假设有2位候选人,他们的简单信息如下:
姓名(字符串) 性别(字符) 年龄(整型) 党派(字符串) 得票率
Bei Lake Obama M 民主党
John McCain M 共和党
从键盘输入投票人的投票内容,其中,输入"A"表示支持第一位候选人,输入"B"表示支持第二位候选人,
输入"C"表示弃权,输入"D"表示投票结束,输入其他字符为废票。
由程序设计两位候选者各自的得票数量,换算出每人的得票率后,存入他们各自的相关信息项中;得票数量
最多,且得票率超过有效票数的50%者将为新一届总统;如果两位候选者的支持率均未达到有效票数的50%,则
输出两人全部信息。
将两位候选人的基本信息写入一个磁盘文件,再将最终的统计结果也写入该文件。
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 20
struct candidate {
char name[20];
char sex;
int age;
char dangpai[20];
float depiaolv;
};
int main(void)
{
struct candidate A={"Bei Lake Obama ",'M',47,"民主党",0},B={"John McCain",'M',53,"共和党",0};
int count_A=0,count_B=0,count_Z=0,i;
char str[N];
printf("Please input the result: ");
gets(str);
for(i=0;i<N;i++)
{
if(str[i]=='A')
{
count_A++;
count_Z++;
}
if(str[i]=='B')
{
count_B++;
count_Z++;
}
if(str[i]=='C')
printf("弃权");
if(str[i]=='D')
break;
}
A.depiaolv=(float)count_A/count_Z;
B.depiaolv=(float)count_B/count_Z;
printf("%s %c %d %s %.2f\n",A.name,A.sex,A.age,A.dangpai,A.depiaolv);
printf("%s %c %d %s %.2f",B.name,B.sex,B.age,B.dangpai,B.depiaolv);
return 0;
}
鄙人只能写到这了,望您帮助~~~~