c语言,实在是不会,有没有大神帮个忙,谢谢了

1、编写程序。定义数组sco存放30名学生的成绩。将成绩由高到低排序,并输出排序结果和所有高于平均分数的成绩(结果保留两位小数)。2、编写程序。先编写一个子函数求x,再通... 1、编写程序。定义数组sco存放30名学生的成绩。将成绩由高到低排序,并输出排序结
果和所有高于平均分数的成绩(结果保留两位小数)。
2、编写程序。先编写一个子函数求x ,再通过主函数调用该子函数,对输入的一个数y,
求y 并输出。
展开
 我来答
碧海风云

2017-06-23 · 碧海风的秘密小据点!
碧海风云
采纳数:909 获赞数:10281

向TA提问 私信TA
展开全部

第一题核心是排序,我先用冒泡排序来实现吧。

#include <stdio.h>
 
#define LEN 30 /*学生人数*/
 
void bubbleSort(int arr[], int len) { /*由大到小冒泡排序*/
    int i, j, temp;
    for (i = 0; i < len - 1; i++)
        for (j = 0; j < len - 1 - i; j++)
            if (arr[j] < arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
}
 
int main()
{
    int i;
    int sco[LEN] = {70,99,87,65,59,98,85,73,65,59,62,70,80,92,54,35,90,87,37,66,80,33,45,62,68,48,76,56,78,90};
    float sum=0,aver=0;
 
    printf ("原始30名学生成绩:\n");
    for (i=0;i<LEN;i++) {
        printf ("%d\t",sco[i]);
    }
    printf ("======================================================\n\n");
    bubbleSort (sco,LEN); 
    printf ("30名学生成绩由高到低排序:\n");
    for (i=0;i<LEN;i++) {
        printf ("%d\t",sco[i]);
        sum +=  sco[i];
    }
    printf ("======================================================\n\n");
    aver = sum/LEN;
    printf ("高于平均分%.2f的学生成绩:\n",aver);
    for (i=0;i<LEN;i++) {
        if (sco[i]>aver) {
            printf ("%d\t",sco[i]);
        }
    }
    printf ("\n");
 
    return 0;
}

运行结果

第二题没太看懂,具体要求是啥,感觉就是考察函数调用,我先随便写个简答的吧。输入y,x函数返回y平方

#include <stdio.h>
 
int x (int y) { /*输入y,返回y平方*/
    return y*y; 
}
 
int main()
{
    int y;
    printf ("请输入y:");
    scanf ("%d",&y);
    printf ("\n");
    y = x(y);
    printf ("调用x函数求y平方:%d\n",y);
    printf ("\n");
    return 0;
}

运行结果

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式