键盘输入原始数据计算总分和平均分

写在之前,分享指针字符数组输出应用;

#include <stdio.h>
int main()
{
    
    
	char *p="%d,a=%d,b=%d\n";//这里定义的是指针字符数组。

int a=111,b=10,c;

c=a%b; 
p+=3;//是从使得该字符数组从数组下标3开始输出。

printf(p,c,a,b);
//p只是对指针变量进行引用,所以这里的p等同于(p+3)。
//即这部分可写为——printf("a=%d,b=%d\n",c,a,b);实际对应输出的为c和a的值。
}

对于const的补充;
const可限定指针变量固定不变,其被赋值内容可以是地址
例如:

int *const q=&a;

正题:

#include <stdio.h>
struct student
{
    
    
	char name[12];
	int score[3];
	double sum;
	double average;
}stu[3];//结构体数组,其stu[3]这个数组的每一个元素均含有整个结构体所包含的变量属性————也就是说一个学生就是数组中一个元素有名字分数、总分、平均分这些属性。
int main()
{
    
    
	int i,j;
	double sum;

	for(i=0;i<3;i++)
	{
    
    
		printf("请输入第%d个学生姓名:",i+1);
		gets(stu[i].name);//在对提前初始化的学生个数进行挨个命名
		sum=0;
		for(j=0;j<3;j++)
		{
    
    
			printf("输入第%d个学生第%d科成绩:",i+1,j+1);
			scanf("%d",&stu[i].score[j]);
			sum+=stu[i].score[j];//挨个计算总分
		}
		fflush(stdin);//输入缓冲区;
		stu[i].sum=sum;
		stu[i].average=sum/3;//挨个求平均分
	}
	printf("Information of Stu:\n");
	printf("%10s%7s%7s%7s%7s%7s\n","姓名","成绩1","成绩2","成绩3","总分","平均分");//对数据进行整合。

	for(i=0;i<3;i++)
	{
    
    
		printf("%10s",stu[i].name);
		for(j=0;j<3;j++)
		{
    
    
			printf("%7d",stu[i].score[j]);
		}
		printf("%7.2f%7.2f",stu[i].sum,stu[i].average);
		printf("\n");
	}

	return 0;
}

其中代码分析在代码中有相应阐述。

猜你喜欢

转载自blog.csdn.net/yooppa/article/details/113133324
今日推荐