鱼C论坛

 找回密码
 立即注册
查看: 872|回复: 2

求助求助

[复制链接]
发表于 2021-11-14 15:58:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. 写程序,从键盘输入10个学生的成绩,并完成以下操作:
(1)10个学生的成绩按照从大到小的顺序排列;
(2)统计最高分和最低分;
(3)求平均成绩;
(4)统计优秀、良、中、及格和不及格人数(优秀>=90,80=<良<90,70=<中<80,60=<及格<70,不及格<60)。
2.编写程序,要求用下标和指针两种方式访问二维数组,计算矩阵(5行5列)以下值,:
(1)主对角线元素之和;
(2)除对角线外所有元素之和;
(3)上三角元素之和;
(4)首行、首列、末行和末列的所有元素之和。
3. 利用指针编写程序,实现在一个字符串的任意位置插入一个字符(要求插入字符的位置由用户从键盘输入)。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-14 16:22:34 | 显示全部楼层
本帖最后由 傻眼貓咪 于 2021-11-14 16:25 编辑
#include <stdio.h>
#include <stdlib.h>

int sort(const void * elem1, const void * elem2) // 定义函数:用于进行排序
{
    int f = *((int*)elem1);
    int s = *((int*)elem2);
    if (f > s) return  1;
    if (f < s) return -1;
    return 0;
}

int main() 
{   
    int arr[10], A = 0, B = 0, C = 0, D = 0, E = 0;
    float sum = 0;
    
    for(size_t i = 0; i < 10; i++) scanf("%d", &arr[i]);
    qsort(arr, sizeof(arr)/sizeof(*arr), sizeof(*arr), sort); // 排序
    
    for(int i = 0; i < 10; i++){
        sum += arr[i];
        if(arr[i] >= 90) A++;
        else if(arr[i] >= 80) B++;
        else if(arr[i] >= 70) C++;
        else if(arr[i] >= 60) D++;
        else E++;
    }
    sum /= 10;
    
    printf("最高分:%d\n", arr[9]);
    printf("最低分:%d\n", arr[0]);
    printf("平均分数:%f\n", sum);
    printf("优秀%d人\n良%d人\n中%d人\n及格%d人\n不及格%d人\n", A, B, C, D, E);
    
    return 0;
}
输入/输出:
18                                
99
75
65
23
86
45
55
12
2
最高分:99
最低分:2
平均分数:48.000000
优秀1人
良1人
中1人
及格1人
不及格6人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-14 16:39:07 | 显示全部楼层
还有两个题可以写一下吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-27 22:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表