| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 579 人关注过本帖
标题:实在不会写,求助各位!
只看楼主 加入收藏
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
实在不会写,求助各位!
/*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;
}

鄙人只能写到这了,望您帮助~~~~
搜索更多相关主题的帖子: 共和党 候选人 字符串 键盘 统计 
2011-06-14 21:03
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
去论坛上搜一下了吧   实在是懒得写了 不要见怪

                                         
===========深入<----------------->浅出============
2011-06-14 21:10
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 2楼 laoyang103
我刚才搜了,都没有吧,我找不到。
2011-06-14 21:16
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
程序代码:
#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("弃权\n");
      if(str[i]=='D')
          break;
  }
  A.depiaolv=(float)count_A/count_Z;
  B.depiaolv=(float)count_B/count_Z;

 

 
  

  FILE *fp = fopen("message.txt","w");
  if(A.depiaolv == B.depiaolv)
  {
      fprintf(fp,"%s %c %d %s %.2f\n",A.name,A.sex,A.age,A.dangpai,A.depiaolv);
      printf("%s %c %d %s %.2f\n",A.name,A.sex,A.age,A.dangpai,A.depiaolv);
      fprintf(fp,"%s %c %d %s %.2f\n",B.name,B.sex,B.age,B.dangpai,B.depiaolv);
      printf("%s %c %d %s %.2f\n",B.name,B.sex,B.age,B.dangpai,B.depiaolv);
  }
  else if(A.depiaolv > B.depiaolv)
  {
      fprintf(fp,"%s %c %d %s %.2f\n",A.name,A.sex,A.age,A.dangpai,A.depiaolv);
      printf("%s %c %d %s %.2f\n",A.name,A.sex,A.age,A.dangpai,A.depiaolv);
  }
  else
  {
      fprintf(fp,"%s %c %d %s %.2f\n",B.name,B.sex,B.age,B.dangpai,B.depiaolv);
      printf("%s %c %d %s %.2f\n",B.name,B.sex,B.age,B.dangpai,B.depiaolv);
  }
  fclose(fp);
  return 0;
}

                                         
===========深入<----------------->浅出============
2011-06-14 21:29
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 4楼 laoyang103
出些问题啊,又有些不符题意
2011-06-14 21:45
bccn_2012
Rank: 6Rank: 6
等 级:侠之大者
帖 子:158
专家分:447
注 册:2011-5-14
收藏
得分:10 
回复 5楼 wangnengchao
自己改一点点咯。
2011-06-14 21:47
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 6楼 bccn_2012
怎么改呢,一综合起来我就感到难写,平时老师上课讲很简单的,但叫做练习就稍微难了,综合性较大~~~~
2011-06-14 21:51
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
我也是大致谢谢  你就不能自己改改呀

                                         
===========深入<----------------->浅出============
2011-06-14 21:55
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
回复 8楼 laoyang103
可是现在我头脑一片空空,心挺 烦的·~~~商新哦
2011-06-14 21:57
youngpennyu
Rank: 2
等 级:论坛游民
帖 子:37
专家分:19
注 册:2011-6-13
收藏
得分:0 
自己动手,丰衣足食,而且你都写了大部分,剩下的只是输出~~
2011-06-15 15:27
快速回复:实在不会写,求助各位!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022778 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved