现在的位置: 首页 > 综合 > 正文

linux c 编程入门练习题

2013年08月30日 ⁄ 综合 ⁄ 共 1299字 ⁄ 字号 评论关闭

一直对嵌入式底层开发感兴趣,无奈基础实在有些薄弱,买了本嵌入式入门书,没有找到书中练习题的答案,于是准备亲自动手实现下。开此博客望与大家共同讨论进步。因为内容都很基础,望大方之家不要见笑。

题目:有10个学生,每个学生的数据包括学号、姓名、5门课程的成绩,从键盘输入学生的成绩,计算5门课程的平均成绩,输出最高和最低分数的学生的学号、姓名、5门课程的成绩和平均分。

#include<stdio.h>
#define N 10

struct {
	int number;
	char name[20];
	float scores[5];
	float average;
}student[N];

void printfinfo(int index);

int main(){
	for(int i =0;i<N;i++){
		float totle=0.0;
		printf("number:");
		scanf("%d",&student[i].number);
		printf("name:");
		scanf("%s",&student[i].name);
		printf("scores:");		
		for(int j=0;j<5;j++){
			scanf("%f",&student[i].scores[j]);
			totle+=student[i].scores[j];
		}
		student[i].average=totle/3;
	} 
	int maxindex,minindex=0;
	int cur= 0;
	float max,min=student[0].average;
	while(cur<N){
		if (max < student[cur].average){
			max=student[cur].average;
			maxindex=cur;
		}else if (min > student[cur].average){
			min = student[cur].average;
			minindex=cur;
		}	
		cur++;
	}
	printf("***************the max student infomation***************\n");
	printfinfo(maxindex);
	printf("***************the min student infomation***************\n");
	printfinfo(minindex);
}

void printfinfo(int index){
		printf("number is %d\n",student[index].number);
		printf("name is %s\n",student[index].name);
		printf("scores is :\n");
		for(int j=0;j<5;j++){
			printf("%f   ",student[index].scores[j]);
		}
		printf("\n");
		printf("averages is %f\n",student[index].average);
		printf("\n");
}

总结: 用到了函数申明,它的作用是函数间相互调用可以忽略函数所在的先后顺序。另外用到了结构体数组的相关知识。总体说来都很基础。

抱歉!评论已关闭.