c代码

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;
}

  1. 投票
    #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;                       
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值