精华内容
下载资源
问答
  • # include void swap( int *, int *) ; int main( int argc, char *argv []) { ...设计思路:首先将10个分数从大到小排列,去掉第一个数最后一个数,然后求平均值,即符合题目要求。
    # include<stdio.h>
    void swap(int *, int *);
    int main(int argc, char *argv[])
    { 
        int a[10];
        int i,j,k;
         for (i=0; i<10; i++)
        {
            scanf("%d",&a[i]);
        }
    
        for (j=0; j<9; j++)
        {
            for (k=0; k<9-j; k++)
            if (a[k]<a[k+1])
            {
                swap(&a[k],&a[k+1]);
            }
        }
        i = 0;
        for (j=1; j<9; j++)
        {
            i += a[j];
        }
        printf("the average is %d\n",i/8);
    
        return 0;
    }
    void swap (int *p, int *q)
        {
            int t;
            t = *p;
            *p = *q;
            *q = t;
        }

    设计思路:首先将10个分数从大到小排列,去掉第一个数和最后一个数,然后求平均值,即符合题目要求。

    展开全文
  • C语言练习)假设某实验小组的5名学生,C语言模考成绩已给定(要求学生从外部键盘输入),现要求对其降序输出,并统计低于平均分的学生人数,并输出最高分和最低分。 一.代码 #include <iostream> #include&...

    (C语言练习)假设某实验小组的5名学生,C语言模考成绩已给定(要求学生从外部键盘输入),现要求对其降序输出,并统计低于平均分的学生人数,并输出最高分和最低分。

    一.代码

    #include <iostream>
    #include<malloc.h>
    int main()
    {
    	int * p;  //定义指针变量
    	int a;
    	float avg=0; //平均成绩
    	float sum = 0;
    	int count=0; //定义低于平均成绩的人数
    	int i, j, t;
    	int len;  //定义实验小组学生变量
    	printf("请输入这个实验小组的学生数量\n");
    	scanf_s("%d", &len);
    	printf("这五位学生的考试成绩分别是:\n");
    	//通过malloc函数分配内存空间
    	p = (int *)malloc(5 * 5);
    	for (a = 0; a < len; a++)
    	{
    		scanf_s("%d", &p[a]);
    		sum = sum + p[a];     //计算这5个人的总分数
    	}
    	printf("这五名学生的总成绩是:%0.2f\n", sum);
    	//计算这5个人的平均分数
    	avg = sum / 5;
    	printf("这五名学生的平均分是:%0.2f\n", avg);
    	
    	
    	//通过冒泡排序给学生成绩进行降序操作
    	for (i = 0; i < len - 1; i++)
    	{
    		for (j = 0; j < len - 1 - i; j++)
    		{
    			if (p[j] < p[j + 1])
    			{
    				t = p[j];
    				p[j] = p[j + 1];
    				p[j + 1] = t;
    			}
    		}
    	}
    	printf("这五位学生通过降序排后的成绩是:\n");
    	for (int k = 0; k < len; k++)
    	{
    		printf("%d\t", p[k]);
    		printf("\n");
    		//判断低于平均分数的条件
    		if (p[k] < avg)
    		{
    			count++;    //如果低于平均分 记录一次
    			
    		}
    	}
    	
    	printf("低于平均成绩的人数是:%d\n", count);
    
    	//因为已经降序输出了,所以第1个学生成绩是分数最高的
    	printf("这五个学生中最高成绩是:%d\n", p[0]);
    
    	//同理,最后一个输出的学生成绩是分数最低的
    	printf("这五个学生中最低成绩是:%d\n", p[len-1]);
    
    
    	return 0;
    
    }
    

    二.输出结果

    **请输入这个实验小组的学生数量
    5
    这五位学生的考试成绩分别是:
    80
    90
    70
    50
    60
    这五名学生的总成绩是:350.00
    这五名学生的平均分是:70.00
    这五位学生通过降序排后的成绩是:
    90
    80
    70
    60
    50
    低于平均成绩的人数是:2
    这五个学生中最高成绩是:90
    这五个学生中最低成绩是:50**
    
    
    展开全文
  • 选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。 Input 输入数据有多组,每组占一行,每行的第一个数是n(2),表示评委的人数,然后是n个评委的打分。 Output ...
  • } /* input方法实现输入每位同学的基本信息成绩 uid[]:学生id uname[]:学生姓名 uChinese:学生语文成绩 umath:学生数学成绩 uEnglish:学生英语成绩 i:控制循环 j:控制输出第几位学生 */ void input( ...

    代码详解如下:

    #include <stdio.h>
    #include <string.h>
    /*定义学生实体*/
    struct students {
    	char    id[20];
    	char  	name[20];
    	float   Chinese;
    	float   math;
    	float   English;
    };
    /* 函数声明
    input函数用结构体实现实体赋值, averageScore实现求出实体平均成绩并将值存储数组地址 
     */
    void input( struct students *stuent );
    void averageScore(struct students *student,float avgNum[]);
    void maxNum(struct students *student,int *k);
    void output(struct students *student,float avgNum[],int *k);
    /*main()函数 
    avgNum[3]数组存入三门课程平均值 
    */ 
    int main( ) {
    	float avgNum[3]; 
    	int *k;
    	struct  students student[10];
    	input(&student);
    	averageScore(&student,avgNum);
    	maxNum(&student,&k); 
    	output(&student,avgNum,&k);
    
    }
    /*
    input方法实现输入每位同学的基本信息和成绩
     uid[]:学生id  uname[]:学生姓名  uChinese:学生语文成绩  umath:学生数学成绩  uEnglish:学生英语成绩
    i:控制循环 j:控制输出第几位学生
    */
    void input( struct students *student ) {
    	char uid[20],uname[20];
    	int i=0,j=0;
    	float uChinese=0,umath=0,uEnglish=0;
    	for(i; i<10; i++) {
    		j = i+1;
    		printf("请输入第%d学生学号:\n",j) ;
    		scanf("%s",uid);
    		printf("请输入第%d学生姓名:\n",j) ;
    		scanf("%s",uname);
    		printf("请输入第%d学生语文成绩:\n",j) ;
    		scanf("%f",&uChinese);
    		printf("请输入第%d学生数学成绩:\n",j) ;
    		scanf("%f",&umath);
    		printf("请输入第%d学生英语成绩:\n",j) ;
    		scanf("%f",&uEnglish);
    		strcpy(student[i].id,uid);
    		strcpy(student[i].name,uname);
    		student[i].Chinese = uChinese;
    		student[i].math = umath;
    		student[i].English = uEnglish;
    	}
    }
    /*求平均数函数 i:控制循环次数
    ChineseSum:语文成绩汇总  mathSum:数学成绩汇总  EnglishSum英语成绩汇总
    avgNum数组分别存入成绩 0语文平均成绩  1数学平均成绩   2英语平均成绩
    */
    void averageScore(struct students *student,float avgNum[]) {
    	
    	int i=0;
    	float ChineseSum=0,mathSum=0,EnglishSum=0;
    	//累加求出每门课程总成绩 
    	for(i; i<10; i++) {
    		ChineseSum += student[i].Chinese;
    		mathSum += student[i].math;
    		EnglishSum += student[i].English;
    	}
    	avgNum[0] = ChineseSum/10;
    	avgNum[1] = mathSum/10;
    	avgNum[2] = EnglishSum/10;
    }
    /*求最大值
     maxNum最大值, account三门课程的汇总成绩 
    j控制循环遍历 ,k用于控制最大成绩同学的索引 
    */
    void maxNum(struct students *student,int *k) {
    	float maxNum = 0,account=0;
    	int j=0;
    	for(j; j<10; j++) {
    		//计算出汇总值 
    		account =  student[j].Chinese+student[j].math+student[j].English;
    		if(maxNum<account) {
    			//获取第一名同学的成绩 
    			maxNum=account;
    			//获取第一名同学的索引
    			*k = j;
    		};
    	};
    }
    //output输出函数,student结构体参数,存入avgNum平均值,k成绩最高同学的索引,i用来获取指针的值
    void output(struct students *student,float avgNum[],int *k) {
    	int i =*k;
    	printf("语文成绩的平均值是:%f\n",avgNum[0]);
    	printf("数学成绩的平均值是:%f\n",avgNum[1]);
    	printf("英语成绩的平均值是:%f\n",avgNum[2]);
    	printf("最大成绩的同学信息:学号:%s\n名字%s\n语文成绩:%f\n数学成绩:%f\n英语成绩:%f\n",student[i].id,student[i].name,student[i].Chinese,student[i].math,student[i].English);	
    }
    

    ——发布日期:2020年3月29日

    展开全文
  • 评分规则为:在每个歌手的m个得分中,去掉一个最低分和一个最高分后,取平均分作为该歌手的最后得分。要求编程实现: (1)根据歌手的最后得分,从高到低输出歌手的得分名次。 (2)根据各歌手的最后得分与各评委给...

    题目:已知有n个歌手参加比赛,m个评委为歌手评分(最低0分,最高10分)。评分规则为:在每个歌手的m个得分中,去掉一个最低分和一个最高分后,取平均分作为该歌手的最后得分。要求编程实现:
    (1)根据歌手的最后得分,从高到低输出歌手的得分名次。
    (2)根据各歌手的最后得分与各评委给该歌手所评分数的差距,对每个评委评分的评分水准和准确性给出一个定量的评价,从高到低输出各评委得分的名次表。 评委得分 =在这里插入图片描述
    (score[i]为该评委给第i个歌手的评分,s[i]为第i个歌手的最后得分)
    [输入要求]
    输入包含2 * n + 1行:
    第一行是歌手个数n和评委个数m(1 < n <= 40,2 < m <= 20)。
    第二行是第1个歌手的编号(int范围整数)。
    第三行是m个评委依次对第1个歌手给出的评分(float范围浮点数),每行m个评分,相邻两项之间用一个空格隔开。
    ……
    第2 * n行是第n个歌手的编号(int范围整数)。
    第2 * n + 1行是m个评委依次对第n个歌手给出的评分(float范围浮点数),每行m个评分,相邻两项之间用一个空格隔开。
    [输出要求]
    输出n + m行:
    第一行到第n行是歌手的得分名次表,每行均有三项(排名、得分、歌手编号),相邻两项之间用一个空格隔开,得分输出要求小数点后必须保留3位有效数字(四舍五入),不足补零。
    第n + 1行到第n + m行是评委的得分名次表,每行均有三项(排名、得分、评委编号),相邻两项之间用一个空格隔开,得分输出要求小数点后必须保留3位有效数字(四舍五入),不足补零。
    [输入示例]
    4 5
    11
    8.9 9.6 9.7 9.4 9
    12
    7.9 9.2 9.2 9.3 8.9
    13
    9.1 9.7 9.7 9.8 9.4
    14
    8.1 8.8 8.7 9.0 8.6
    [输出示例]
    1 9.600 13
    2 9.333 11
    3 9.100 12
    4 8.700 14
    1 9.841 2
    2 9.804 3
    3 9.791 4
    4 9.776 5
    5 9.252 1
    要求:定义歌手信息结构体、自定义统计、排序等函数、有输入输出验证各种情况

    //https://blog.csdn.net/weixin_54455070/article/details/112537468
    //R_Habitat
    #include<stdio.h>
    #include<math.h>
    
    int n, m;  //歌手、评委个数
    
    struct Artists_Info  //歌手信息结构体
    {
    	int Artists_ID;  //歌手编号
    	float Artists_Score[22];  //评委依次给出的该歌手成绩
    	float Artists_SUM_Score;  //歌手总成绩
    	float Artists_AVG_Score;  //歌手平均成绩
    }AIf[42];
    struct Judges_Info  //评委得分结构体
    {
    	float Judges_Score;  //评委得分
    }JIf[22];
    
    void Input_Info() {  //歌手信息输入
    	for (size_t i = 0; i < n; i++)
    	{
    		scanf("%d",&AIf[i].Artists_ID);
    		for (size_t j = 0; j < m; j++)
    		{
    			scanf("%f", &AIf[i].Artists_Score[j]);
    		}
    	}
    }
    
    void DP() {  //数据处理
    	for (size_t i = 0; i < n; i++)  //平均分处理
    	{
    		float Max = AIf[i].Artists_Score[0];  //局部变量
    		float Min = AIf[i].Artists_Score[0];  //局部变量
    		for (size_t j = 0; j < m; j++)
    		{
    			if (AIf[i].Artists_Score[j]>Max)
    			{
    				Max = AIf[i].Artists_Score[j];
    			}
    			if (AIf[i].Artists_Score[j]<Min)
    			{
    				Min = AIf[i].Artists_Score[j];
    			}
    			AIf[i].Artists_SUM_Score += AIf[i].Artists_Score[j];
    		}
    		AIf[i].Artists_AVG_Score = (AIf[i].Artists_SUM_Score - Max - Min) / (m - 2);
    	}
    
    	for (size_t i = 0; i < m; i++)  //评委得分
    	{
    		float sum = 0;
    		for (size_t j = 0; j < n; j++)
    		{
    			sum += (AIf[j].Artists_Score[i] - AIf[j].Artists_AVG_Score) * (AIf[j].Artists_Score[i] - AIf[j].Artists_AVG_Score);
    		}
    		JIf[i].Judges_Score = 10 - sqrt(sum/ n);
    	}
    }
    
    void Output_Info() { //输出
    	int Judge_A = 1;  //歌手名次
    	int Cnt_A = 1;  //计数器
    	float AASP[50] = { 0 };  //为了能让每次已经出来的最大值消失 新建数组 每次将最大值改为-1
    	for (size_t i = 0; i < n; i++)
    	{
    		AASP[i] = AIf[i].Artists_AVG_Score;
    	}
    	while (Judge_A)
    	{
    		float Max = -1;  //局部变量
    		int Temp_A=0; //用于将分数与ID对应
    		for (size_t i = 0; i < n; i++)
    		{
    			if (AASP[i]>Max)
    			{
    				Max = AASP[i];
    				Temp_A = i;
    			}
    		}
    		AASP[Temp_A] = -1;  //新建数组最大值改变
    		printf("%d %.3f %d\n", Cnt_A, Max, AIf[Temp_A].Artists_ID);
    		Cnt_A++;
    		if (Cnt_A-1==n)
    		{
    			Judge_A = 0;
    		}
    	}
    
    	int Judge_J = 1;//评委名次
    	int Cnt_J = 1;
    	float JSP[30] = { 0 };
    	for (size_t i = 0; i < m; i++)
    	{
    		JSP[i] = JIf[i].Judges_Score;
    	}
    	while (Judge_J)
    	{
    		float Max = JSP[0];
    		int Temp_J = 0;
    		for (size_t i = 0; i < m; i++)
    		{
    			if (JSP[i] > Max) {
    				Max = JSP[i];
    				Temp_J = i;
    			}
    		}
    		printf("%d %.3f %d\n", Cnt_J,Max,Temp_J+1);
    		Cnt_J++;
    		JSP[Temp_J] = -1;
    		if (Cnt_J-1==m)
    		{
    			Judge_J = 0;
    		}
    	}
    }
    
    int main() {
    	scanf("%d %d", &n, &m);
    	while (n <= 1 || n > 40) {
    		printf("歌手人数非法,请重新输入:\n");
    		scanf("%d", &n);
    	}
    	while (m <= 2 || m > 20) {
    		printf("评委人数非法,请重新输入:\n");
    		scanf("%d", &m);
    	}
    	Input_Info();  //歌手信息输入
    	DP();  //数据处理
    	Output_Info();  //歌手信息输出
    	return 0;
    }
    //https://blog.csdn.net/weixin_54455070/article/details/112537468
    //R_Habitat ZRZ
    
    展开全文
  • 选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。 *问题分析与算法设计 这个问题的算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。 下面是我写的...
  • 生数比例,最高分及学生信息。 其中,分数(含平均分)都按百分制(整数处理) ,比例按浮点数处理,精确到小数点后两位。平均 分取整时按四舍五入处理,例如,74.5,四舍五入为 75.最高分可能有多个。(要求,分别...
  • 某课程有n个学生参加考试(n的值由用户从键盘输入),编写程序计算这门课程的最高分、最低分及平均分 运行结果示例: 请依次输入学生人数所有成绩 10 93 85 78 98 95 90 92 88 80 82 max=98 min=78 avg=88.10 说明...
  • PTA:输出学生成绩 (10)(C语言

    千次阅读 2020-04-08 22:45:33
    本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩最低成绩。建议使用动态内存分配来实现。 输入格式: 输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,...
  • 选手得分规则为去掉两个最高分和两个最低分,然后计算平均得分,请编程输出某选手的得分。 Input 第一个数是n(2<n<=100),表示评委的人数,然后是n个评委的打分。 Output 对于输入数据,输出选手的得分,结果...
  • 本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩最低成绩。建议使用动态内存分配来实现。 输入格式: 输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,...
  • 本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩最低成绩。建议使用动态内存分配来实现。 输入格式: 输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,...
  • 系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。 因为没看见有人写c语言版的,所以上传一个c语言版的。 输入格式: 输入第一行给出3...
  • 3.有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求输出每位学生3门课程总平均成绩,以及最高分的学生数据(包括学号、姓名、3门课程成绩、平均分数)。 代码如下: #include&...
  • <code class="language-cs">#include <stdio.h>...输出每个人的平均分,课程平均分最高分(所在学科编号)方差,哪都没错就输出人名的时候奇奇怪怪的。</p>
  • 从文件中读取学生成绩并输出 C语言

    千次阅读 2019-07-27 22:50:51
    题目 设存储在D盘根目录下的文本文件score.dat中记录着学生的姓名成绩,每一行表示一个学生的信息,包括学生姓名(姓名中...请针对该文件写一个程序,该程序的功能是计算所有学生的平均成绩,并输出其中成绩 最高的...
  • C语言一维数组实验题,输入输出格式化。 大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m>2)个评委为参赛选手...统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分后,取平均分作为该选手的最后得分。
  • 系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。 输入格式: 输入第一行给出3个正整数N(3<N≤10​4​​,学生总数)、k(3≤k...
  • 7-2 歌唱比赛计分 (10)pta C语言

    千次阅读 2020-07-22 15:35:44
    设有10名歌手(编号为1-10)参加歌咏比赛,另有6名评委打分,每位歌手的得分从键盘输入,计算出每位歌手的最终得分(扣除一个最高分和一个最低分后的平均分),最后按最终得分由高到低的顺序输出每位歌手的编号及最终...
  • 用所学过的指针知识,...输出的格式为“排序 姓名 平均分 最高分 最低分”,要求由高到低对平均分排序,平均分保留2位小数。如下所示: No name avg max min 1 c 82.33 99 66 2 b 80.12 92 70 3 a 80.11 98 60
  • 系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。 输入格式: 输入第一行给出3个正整数N(3 < N ≤10^​4​​ ,学生总数)、k...
  • 输入一行字符分别统计出其中字母空格数字其他...当输入负数时结束输入 从键盘上输入若干学生的一门课成绩计算出平均分当输入负数时结束输入将结果 输出 求1!+2!+3!++20!将结果输出 打印以下图案 * * * 打印以下图案 *
  • 本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩最低成绩。建议使用动态内存分配来实现。 输入格式: 输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,...
  • C语言11.8

    2018-10-26 20:44:09
    读入这10个学生的数据,要求输出3门课程的总平均成绩,以及个人平均分最高的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。 输入 共有10行,每行包含了一个学生的学号(整数)、名字(长度不超过19的无空格...
  • 系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。 输入格式: 输入第一行给出3个正整数N(3 < N ≤10​4​​ ,学生总数)、k(3 ...
  • 任务:**运用结构体、函数与指针,储存操作N个学生的信息(学号、姓名与成绩、平均分),并输出平均成绩最高的学生的信息。 2.功能函数: Input()函数:输入数据求各个学生的平均成绩 Max()函数:搜索平均成绩...
  • C语言作业

    2019-05-27 08:33:19
    // 编写程序,一个班级有30名学生,在程序中编写三个函数,分别求这该班学生的最高分、最低分和平均成绩。学生成绩可以读入或初始化至数组中,在主函数中实现输出。 /*#include<stdio.h> void max(int *p) { ...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 145
精华内容 58
关键字:

c语言输出平均分和最高分

c语言 订阅