1.输出学生信息
#include <stdio.h>
struct Student//关键字:struct
{
int num;
char name[32];
char sex;
int age;
double score;
char addr[32];
};//不要忘记分号
int main()
{
int i;
int len;
struct Student arr[3] = {
{1,"张三",'M',18,98,"北京"},
{2,"李四",'M',19,97,"上海"},
{3,"王五",'W',20,99,"山东"}
};
len = sizeof(arr)/sizeof(arr[0]);
for(i=0;i<len;i++){
printf("学号:%d,姓名:%s,性别:%c,年龄:%d,分数:%.2lf,地址:%s\n",
arr[i].num,arr[i].name,arr[i].sex,arr[i].age,arr[i].score,arr[i].addr);//通过数组名下标直接访问
}
return 0;
}
2.选票系统
#include <stdio.h>
#include <string.h>
struct XuamMin{
char name[32];
int tickts;
};
int main()
{
struct XuamMin xm[3];
struct XuamMin max;
int i;
int j;
int len;
int total = 5;
char tmpName[32];
int mark = 0;
int feiPiao = 0;
len = sizeof(xm)/sizeof(xm[0]);
//初始化选民信息
for(i=0;i<len;i++){
xm[i].tickts = 0;
printf("请输入第%d个选民姓名:\n",i+1);
scanf("%s",xm[i].name);
}
//唱票环节
for(i=0;i<5;i++){
mark = 0;
printf("请输入你投给谁?\n");
memset(tmpName,'\0',sizeof(tmpName));//每次清空一下
scanf("%s",tmpName);//输入选民名字,像拆开一个选票,看到名字一样
for(j=0;j<len;j++){ //拿到名字,对应候选人票数加一
if(strcmp(tmpName,xm[j].name) == 0){
xm[j].tickts++;
mark = 1;
}
}
if(mark == 0){
printf("没有此候选人,放弃\n");
feiPiao++;
}
}
//公布结果
for(i=0;i<len;i++){
printf("姓名:%s,票数:%d\n",xm[i].name,xm[i].tickts);
}
max = xm[0];
for(i=1;i<len;i++){
if(max.tickts < xm[i].tickts){
max = xm[i];
}
}
printf("%s以%d票当选!废票数:%d\n",max.name,max.tickts,feiPiao);
return 0;
}