@fiy-fish
2015-06-27T10:07:37.000000Z
字数 819
阅读 1561
C
#include <stdio.h>#include <stdbool.h>#include <string.h>#include <stdlib.h>#include "time.h"struct person{char name[30];int count;//这里定义一个结构体数组,并给他初始化!}leader[3]={"li",0,"zhang",0,"sun",0};//leader[3]={"name1",0,"name2",0,"name3",0}int main(){int i,j;char leader_name[20];//给rand()函数种时间种子srand((unsigned)time(NULL));char *p = leader_name;char *t=NULL;for (i=1; i<=10; i++) {//进行10次投票//凡是遇到字符串或者字符串数组都要用字符串函数,类如 strlen,strcpy,strcmp,strcat等!//用leader[rand()%3].name复制到leader_name字符数组里面t=strcpy(p, leader[rand()%3].name);//括号里面的都是指针变量// strcpy的返回值是 指针pprintf("%s\t",t);printf("%s\n",p);for(j=0;j<3;j++){//利用循环判断得票的老师,同时计数//这里访问结构体变量只能用点运算符,如果是结构体指针变量就必须用“->”运算符if(strcmp(p,leader[j].name)==0) leader[j].count++;}}printf("\nResult:\n");for(i=0;i<3;i++)printf("\t%15s:%5d\n",leader[i].name,leader[i].count);// 这里的\t%15s:%5d\n 仅仅是为了美观return 0;}
