| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 599 人关注过本帖
标题:看了答案,发现做的好粗糙
取消只看楼主 加入收藏
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
结帖率:100%
收藏
 问题点数:0 回复次数:1 
看了答案,发现做的好粗糙
程序代码:
#include<stdio.h>
void average(float(*p)[6])
{
    int i, j;
    float sum = 0, aver;
    for (j = 1; j < 6; j++)
    {
        for (i = 0; i < 4; i++)
            sum = sum + *(*(p + i) + j);
        aver = sum / 4; break;
    }
    printf("第一门课的平均分是\naver=%5.2f\n", aver);
}

void search(float(*p)[6])
{
    int i, j, k;
    float sum, aver;
    for (i = 0; i < 4; i++)
    {
        k = 0;
        sum = 0;
        aver = 0;
        for (j = 1; j < 6; j++)
            if (*(*(p + i) + j) < 60.0)
                k++;
        if (k >= 2)
        {
            printf("两门以上不及格的学生的学号及全部成绩是:\n");
            for (j = 0; j < 6; j++)
                printf("%11.2f", *(*(p + i) + j));
            printf("\n");
            for (j = 1; j < 6; j++)
                sum = sum + *(*(p + i) + j);
            aver = sum / 5;
            printf("该生的平均分是\naver=%5.2f\n", aver);
        }
    }
}

int main()
{
    void average(float(*p)[6]);
    void search(float(*p)[6]);
    float a[4][6] = { {101,34,56,88,99,89},{102,27,88,99,67,78},{103,99,90,87,86,89},{104,78,89,99,56,77} };
    average(a);
    search(a);
    return 0;
}
2017-01-27 11:26
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
做的好烂,不过功能都实现了
程序代码:
#include<stdio.h>
void average(float(*p)[6])
{
    int i, j;
    float sum = 0, aver;
    for (j = 1; j < 6; j++)
    {
        for (i = 0; i < 4; i++)
            sum = sum + *(*(p + i) + j);
        aver = sum / 4; break;
    }
    printf("第一门课的平均分是\naver=%5.2f\n", aver);
}

void search(float(*p)[6])
{
    int i, j, k;
    float sum, aver;
    for (i = 0; i < 4; i++)
    {
        k = 0;
        sum = 0;
        aver = 0;
        for (j = 1; j < 6; j++)
            if (*(*(p + i) + j) < 60.0)
                k++;
        if (k >= 2)
        {
            printf("两门以上不及格的学生的学号及全部成绩是:\n");
            for (j = 0; j < 6; j++)
                printf("%11.2f", *(*(p + i) + j));
            printf("\n");
            for (j = 1; j < 6; j++)
                sum = sum + *(*(p + i) + j);
            aver = sum / 5;
            printf("该生的平均分是\naver=%5.2f\n", aver);
        }
    }
}

void find(float(*p)[6])
{
    int i, j;
    float sum, aver, min = 100;
    for (i = 0; i < 4; i++)
    {
        sum = 0;
        aver = 0;
        for (j = 1; j < 6; j++)
        {
            sum = sum + *(*(p + i) + j);
            if (min > *(*(p + i) + j))
                min = *(*(p + i) + j);
        }
        aver = sum / 5;
        if (aver > 90 || min > 85)
        {
            printf("平均成绩在90分以上或全部成绩在85分以上的学生及成绩是\n");
            for (j = 0; j < 6; j++)
                printf("%11.2f", *(*(p + i) + j));
            printf("\n");
        }
    }
}

int main()
{
    void average(float(*p)[6]);
    void search(float(*p)[6]);
    void find(float(*p)[6]);
    float a[4][6] = { {101,34,56,88,99,89},{102,27,88,99,67,78},{103,99,90,87,86,89},{104,78,89,99,56,77} };
    average(a);
    search(a);
    find(a);
    return 0;
}

2017-01-27 12:10
快速回复:看了答案,发现做的好粗糙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026326 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved