问题描述
输入全班的学生人数及其成绩,计算平均成绩……
数组版本代码
#include <stdio.h>
/*
*csdn学院--2016级
*目的:让代码见证成长(作为一个初学的菜鸟,如
*大家有发现错误,欢迎指正!)
*文件名称:Myfun196.c
*问题描述:动态数组实现输出全班平均成绩
*作者:小臣小仁
*完成日期:2017年11月2日
*/
int main()
{
float score[100];//存在隐患
float aver,total=0;
int num,i=0;
printf("请输入学生的人数:");
scanf("%d",&num);
do{
printf("请输入第%d位同学成绩",i+1);
scanf("%f",score+i);
if(*(score+i)>100||*(score+i)<0)
{
printf("请输入正确的成绩数:");
continue;
}
total+=*(score+i);
i++;
}while(i<num);
aver=total/num;
printf("平均成绩为:%.2f\n",aver);
return 0;
}
动态数组程序代码
#include <stdio.h>
#include <stdlib.h>
/*
*csdn学院--2016级
*目的:让代码见证成长(作为一个初学的菜鸟,如
*大家有发现错误,欢迎指正!)
*文件名称:Myfun196.c
*问题描述:动态数组实现输出全班平均成绩
*作者:小臣小仁
*完成日期:2017年11月2日
*/
int main()
{
int *score;//总人数
int num,i=0,total=0;//总成绩
float aver;
printf("请输入总人数:\n");
scanf("%d",&num);
score=(int *)malloc(num*sizeof(int));//num个同学需要占用的空间
do{
printf("亲输入第%d位同学成绩:",i+1);
scanf("%d",score+i);
if(*(score+i)>100||*(score+i)<0)
{
printf("请输入正确成绩:");
continue;
}
total+=*(score+i);
i++;
}while(i<num);
aver=1.0*total/num;
printf("平均成绩:%5.2f",aver);
free(score);
return 0;
}
输出结果
心得体会
作为一个初学的菜鸟,开始慢慢前进,多多少少感到有收获,由于水平有限,多多少少有错,望包涵