100.输入学生信息,输出较高
#include<stdio.h>
int main()
{
struct Student
{
int num;
char name[20];
float score;
}student1,student2;
scanf("%d%s%f",&student1.num,student1.name,&student1.score);
scanf("%d%s%f",&student2.num,student2.name,&student2.score);
printf(“The higher score is :\n”);
if(student1.score>student2.score)
printf("%d%s%6.2f",student1.num,student1.name,student1.score);
esle if(student1.score<student2.score)
printf("%d%s%6.2f",student2.num,student2.name,student2.score);
else
{
printf("%d%s%6.2f",student1.num,student1.name,student1.score);
printf("%d%s%6.2f",student2.num,student2.name,student2.score);
}
return 0;
}
- 投票
#include<stdio.h>
#include<string.h>
struct Person
{
char name[20];
int count;
}leader[3]={“Li”,0,“Zhang”,0,“Sun”,0};
int main()
{
int i,j;
char leader_name[20];
for(i=1;i<=10;i++)
{
scanf("%s",leader_name);
for(j=0;j<3;j++)
if(strcmp(leader_name,leader[j].name)==0)leader[j].count++;
}
printf("\nResult:\n");
for(i=0;i<3;i++)
printf("%5s:%d\n",leader[i].name,leader[i].count);
return 0;
}
102.指针变量输出信息
#include<stdio.h>
#include<string.h>
int main()
{
struct Student
{
long num;
char name[20];
char sex;
float score;
};
struct Student stu_1;
struct Student *p;
p=&stu_1;
stu_1.num=10101;
strcpy(stu_1.name,“Li Lin”);
stu_1.sex=‘M’;
stu_1.score=89.5;
printf(“N0.:%1d\nname:%s\nsex:%c\nscore:%5.1f\n”,stu_1.num,stu_1.naem,stu_1.sex,stu_1.score);
printf(“N0.:%1d\nname:%s\nsex:%c\nscore:%5.1f\n”,(*p).num,(*p).naem,(*p).sex,(*p).score);
return 0;
}
103.投票结果
#include<stdio.h>
#include<string.h>
struct Person
{
char name[20];
int count;
}leader[3]={"Li",0,"zhang",0"Sun",0};
int main()
{
int i,j;
char leader_name[20];
for(i=1;i<=10;i++)
{
scanf("%s",leader_name);
for(j=0;j<3;j++)
if(strcmp(leader_name,leader[j].name)==0)leader[j].cout++;
}
printf("\nResult:\n");
for(i=0;i<3;i++)
printf("%5s:%d\n",leader[i].name,leader[i].count);
return 0;
}
104.指针变量输出信息
#include<stdio.h>
#inlcude<string.h>
int main()
{
struct Student
{
long num;
char name[20];
char sex;
float score;
};
struct Student stu_1;
struct Student *p;
p=&stu_1;
stu_1.num=10101;
strcpy(stu_1.name,"Li Lin");
stu_1.sex='M';
stu_1.score=89.5;
printf("N0.:%1d\nname:%s\nsex:%c\nscore:%5.1f\n",stu_1.num,stu_1.naem,stu_1.sex,stu_1.score);
printf("N0.:%1d\nname:%s\nsex:%c\nscore:%5.1f\n",(*p).num,(*p).naem,(*p).sex,(*p).score);
return 0;
}
105.输出平均成绩最高的信息
#include<stdio.h>
#define N 3
struct Student
{
int num;
char name[20];
float score[3];
float aver;
};
int main()
{
void input(struct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu);
struct Student stu[N],*p=stu;
input(p);
print(max(p));
return 0;
}
void input(struct Student stu[])
{
int i;
printf("请输入各学生的信息:学号、姓名、三门成绩:\n");
for(i=0;i<N;i++)
{
scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score,&stu[i].score[1],&stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;
}
}
struct Student max(struct Student stu[])
{
int i,m=0;
for(i=0;i<N;i++)
if(stu[i].aver>stu[m].aver) m=i;
return stu[m];
}
void print(struct Student stud)
{
prinft("\n成绩最高的学生是:\n");
prinft("学号:%d姓名:%s三门成绩:%5.1f,%5.1f,%5.1f,平均成绩:%6.2f",stud.num,stud.name,stud.score,stud.score[1],stud.score[2],stud.aver);
}
106.静态链表
#include<stdio.h>
struct Student
{
int num;
float score;
struct Student *next;
};
int main()
{
struct Student a,b,c,*head,*p;
a.num=10101;a.score=89.5;
b.num=10103;b.score=90;
c.num=10107;b.score=85;
head=&a;
a.next=&b;
b.next=&c;
c.next=NULL;
p=head;
do
{
printf("%1d%5.1f",p->num,p->score);
p=p->next;
}while(p!=NULL);
return 0;
}
107.输出链表
#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(struct Student)
struct Student
{
long num;
float score;
struct Student *next;
};
int n;
void print(struct Student *head)
{
struct Student *p;
printf("Now,These %d records are:",n);
p=head;
if(head!=NULL)
do
{
printf("%1d%5.1f",p->num,p->score);
p=p->next;
}while(p!=NULL);
}
108.信息表格 共用体表示
#include<stdio.h>
struct
{
int num;
char name[20];
char sex;
char job;
union
{
int class;
char position[10];
}category;
}person[2];
int main()
{
int i;
for(i=0;i<2;i++)
{
printf("please enter the data of person:");
scanf("%d%s%c%c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);
if(person[i].job=='s')
scanf("%d",&person[i].category.class);
else if(person[i].job=='t')
scanf("%s",person[i].category.position);
else
printf("Input error!");
}
printf("\n");
prinft("No.name sex job class/position\n");
for(i=0;i<2;i++)
{
if(person[i].job=='s')
printf("%-6d%-10s%-4c%+4c%+10s\n",person[i].num,person[i].name,&person[i].sex,person[i].job,person[i].category.class);
else
printf("%-6d%-10s%-4c%+4c%+10s\n",person[i].num,person[i].name,&person[i].sex,person[i].job,person[i].category.position);
}
return 0;
}