本帖最后由 星河鹭起 于 2014-9-12 11:21 编辑
因为工作原因,有段时间没搞C了,现在一看题目就有点点心虚了,唉。。以下问题求解。/*
提示输入5个学生的成绩(保证分数在0~100之间),算出平均分、最高分、最低分,然后输出
分析:学生名字和成绩 结构体。
*/
#include <stdio.h>
int jisuan(int *p,int *max,int *min);
int main()
{
int a[5],avage=0,max=0,min=0;
for(int i=0;i<5;i++)
{
printf("input %d score:",i+1);
scanf("%d",&a);
if(0>a || a>100 )
{
printf("error");
scanf("%d",&a);
}
}
avage=jisuan(a,&max,&min);
printf("avage=%d,max=%d,min=%d\n",avage,max,min);
}
int jisuan(int *p,int *max,int *min)
{
int sum=0;
for(;*p!='\0';p++)
{
sum+=*p;
if(*p > *max) max=p; // 如果*p值大于最大值,则将max指向p的地址 if(*p < *min) max=p; // 如果*p值小于最小值,则将min指向p的地址 }
return sum/5; // 精度没关系。。
}
注:已经搞懂了。。。。
|
|