A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 星河鹭起 中级黑马   /  2014-9-12 11:08  /  1724 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 星河鹭起 于 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;  // 精度没关系。。
}


注:已经搞懂了。。。。



4 个回复

倒序浏览
{:3_54:}搞懂了吗
回复 使用道具 举报
都搞懂了
回复 使用道具 举报
测试题比想象中的难
回复 使用道具 举报
好吧……都搞懂了……
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马