m0_58584878 2021-05-28 13:34 采纳率: 47.4%
浏览 76
已采纳

编写程序,使用变长数组计算任意多个学生的最高、最低和平均成绩。

编写程序,使用变长数组计算任意多个学生的最高、最低和平均成绩。要求:

1)通过直到型循环do. .. while i 进行学生成绩的循环输入

2)用户只输入学生成绩而不输入学生人数

3)平均成绩保留1位小数输出。

  • 写回答

2条回答 默认 最新

  • qfl_sdu 2021-05-28 14:24
    关注

    代码如下,如有帮助,请采纳一下,谢谢。

    #include <stdio.h>
    int main()
    {
    	int* score = new int[4];
    	int sc,max,min,i;
    	float avg = 0;;
    	int size = 4;  //数组初始大小
    	int nmb = 0;  //人数
    	do 
    	{
    		printf("请输入学生成绩:");
    		scanf("%d",&sc);
    		if (sc < 0) //输入负数退出
    		{
    			break;
    		}
    		if (nmb == 0)
    		{
    			max = sc;
    			min = sc;
    		}else 
    		{
    			if(sc > max)
    				max = sc;
    			if(sc < min)
    				min = sc;
    		}
    		//数组中插入数据
    		if (nmb < size)
    		{
    			score[nmb] = sc;
    			nmb++;
    		}else
    		{
    			int *pnew = new int[size * 2]; //size扩充2倍
    			size *= 2;
    			for(i = 0;i < nmb; i++)
    				pnew[i] = score[i];
    			pnew[nmb] = sc;
    			nmb++;
    			delete[] score;
    			score = pnew;
    			pnew = 0;
    		}
    		//求平均值
    		for (i = 0; i < nmb; i++)
    			avg += score[i];
    		avg = avg / nmb;
    		printf("最大值:%d,最小值:%d,平均值:%.1f\n",max,min,avg);
    	} while (true);
    
    	delete[] score;
    	score = 0;
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)