论坛风格切换切换到宽版
  • 1216阅读
  • 0回复

[其它]c语言 [复制链接]

上一主题 下一主题
离线邹佳琦
 
发帖
235
C币
22
威望
59
贡献值
62
银元
0
铜钱
708
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-06-22
#include<stdio.h>//预编译命令行
#include<string.h>
struct person//定义一个结构体存放候选人姓名和编号
{
  char name[20];//定义一维数组存放候选人姓名
  int count;
};
  struct person bz[3]={"li",0,"yan",0,"ye"0},
tzb[3] ={"wang",0,"qiao",0,"gj"0},
zz[3]={"gong",0,"xx",0,"w"0},
xc[3]={"jiao",0,"yang",0,"duan"0},
sh[3]={"zhou",0,"yang",0,"z"0},
xx[3]={"nie",0,"an",0,"dan"0};  //定义6个结构体数组并赋值
void main( )//主函数
{
   int tj(struct person *p);//调用函数
   int m=0;
   void da( );//调用函数
   printf(" 信息0902班委选票结果 \n");//输出界面提示信息
   m=tj(&bz);                        //调用tj函数输入出选票结果
   printf("班长是%-20s\n",bz[m].name);
   m=tj(&tzb); //调用tj函数输入出选票结果
   printf("团支部是%-20s\n",tzb[m].name);
   m=tj(&zz); //调用tj函数输入出选票结果
   printf("组织委员是%-20s\n",zz[m].name);
   m=tj(&xc); //调用tj函数输入出选票结果
   printf("宣传委员是%-20s\n",xc[m].name);
   m=tj(&sh); //调用tj函数输入出选票结果
   printf("生活委员是%-20s\n",sh[m].name);
   m=tj(&xx); //调用tj函数输入出选票结果
   printf("学习委员是%-20s\n",xx[m].name);
   printf("信息0902各班委的个人档案\n"); //输出界面提示信息
    da( );
}
int tj(struct person *p)        //统计学生选票函数
{
  int i,j,t=0,max=0;
  char na[20];//定义一维数组存放姓名
  for(i=1;i<=23;i++)//用循环体统计得票数
   {
    scanf ("%s",na);
    for(j=0;j<3;j++)
         if(strcmp(na,(*(p+j)).name)==0)//找出与之相匹配的姓名
              (*(p+j)).count++;//票数加1
       }
  printf("\n");
  for(i=0;i<3;i++)
    printf("%-20s:%d\n", (*(p+i)).name, (*(p+i)).count);//输出三人的姓名及得票数
   max=(*p).count;
       for(i=0;i<3;i++)//利用循环体找到得票最多的人
       if(max<(*(p+i)).count)
    {
          max=(*(p+i)).count;
          t=i;
         }//找出得票数最多的人并把其编号赋给t
return t;
}
void da( )           //输入所选班委信息函数
{
  struct student//定义结构体存放候选人信息
  {
        int num;
        char nam[20];//用一维数组存放姓名
        char sex;
        int age;
        char addr[30];//用一维数组存放地址
  }stu[6];
struct student *p;      //定义一个指向结构体数组的指针
    int i=0;
    scanf("请输入信息\n");
    for(i=0;i<6;i++)//利用循环体输入所有候选人信息
       scanf("%5d%-20s%2c%4d%-30s\n",stu.num,stu.nam, stu.sex, stu.age, stu.addr);
    for(p=stu;p<stu+6;p++)//利用循环体把候选人信息输出到界面
    printf("%5d%-20s%2c%4d%-30s\n",(*p).num, (*p).nam, (*p).sex, (*p).age, (*p).addr);
}

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个