7-41 成绩统计分析表(*) (10 分)
输入一个班的成绩,输出成绩统计分析表。
输入格式
班级人数n (n>0)
n 名学生的成绩 s1,s2,⋯,sn (0≤si≤100,1≤i≤n)
输出格式
输出 n 名学生的序号、成绩、柱状图 输出全班的最高分、最低分、平均分及柱状图 按成绩等级输出各等级的比例及柱状图
成绩等级:
成绩 | 等级 |
[90,100] | A |
[80,90) | B |
[70,80) | C |
[60,70) | D |
[0,60) | E |
输入样例
15
98.5 67.3 42.5 90 75.2 63 77 99.5 8 100 80.5 69.5 88.5 66.5 87.5
输出样例
001: 98.5 ***************************************************************************************************
002: 67.3 *******************************************************************
003: 42.5 *******************************************
004: 90.0 ******************************************************************************************
005: 75.2 ***************************************************************************
006: 63.0 ***************************************************************
007: 77.0 *****************************************************************************
008: 99.5 ****************************************************************************************************
009: 8.0 ********
010: 100.0 ****************************************************************************************************
011: 80.5 *********************************************************************************
012: 69.5 **********************************************************************
013: 88.5 *****************************************************************************************
014: 66.5 *******************************************************************
015: 87.5 ****************************************************************************************Max: 100.0 ****************************************************************************************************
Min: 8.0 ********
Avg: 74.2 **************************************************************************A: 26.7% ***************************
B: 20.0% ********************
C: 13.3% *************
D: 26.7% ***************************
E: 13.3% *************
注:
(1) 所有实数只输出1位小数。
(2) 柱状图中星号数量按实数 4 舍 5 入后取整。
#include<stdio.h>int main()
{int n;scanf("%d",&n);double a[n];double max=-1,min = 101,sum=0,avg;double A=0,B=0,C=0,D=0,E=0;for(int i=0;i<n;i++){scanf("%lf",&a[i]);max = max>a[i]?max:a[i];min = min<a[i]?min:a[i];sum+=a[i];if(a[i]<60) E++;else if(a[i]<70) D++;else if(a[i]<80) C++;else if(a[i]<90) B++;else A++;}avg = sum/n;for(int i=0;i<n;i++){printf("%03d:%6.1f ",i+1,a[i]);int t = a[i]+0.5;for(int i=0;i<t;i++)printf("*");printf("\n");}printf("\n");printf("Max:%6.1f ",max);int t = max+0.5;for(int i=0;i<t;i++)printf("*");printf("\n");printf("Min:%6.1f ",min);t = min+0.5;for(int i=0;i<t;i++)printf("*");printf("\n");printf("Avg:%6.1f ",avg);t = avg+0.5;for(int i=0;i<t;i++)printf("*");printf("\n");printf("\n");printf("A:%6.1f%% ",A/n*100);t = A/n*100+0.5;for(int i=0;i<t;i++)printf("*");printf("\n");printf("B:%6.1f%% ",B/n*100);t = B/n*100+0.5;for(int i=0;i<t;i++)printf("*");printf("\n");printf("C:%6.1f%% ",C/n*100);t = C/n*100+0.5;for(int i=0;i<t;i++)printf("*");printf("\n");printf("D:%6.1f%% ",D/n*100);t = D/n*100+0.5;for(int i=0;i<t;i++)printf("*");printf("\n");printf("E:%6.1f%% ",E/n*100);t = E/n*100+0.5;for(int i=0;i<t;i++)printf("*");return 0;
}
7-42 罚抄英语单词 (10 分)
小丽英语课听写单词情况不好,老师罚小丽抄写单词“Math”,“English”,“Computer”m遍,连抄n天。
输入格式:
在一行中给出2个小于100的整数n,m。
输出格式:
输出小丽n天抄写的所有单词,三个单词写在一行。
输入样例:
在这里给出一组输入。例如:
3 2
输出样例:在这里给出相应的输出。例如:
Math,English,Computer
Math,English,Computer
Math,English,Computer
Math,English,Computer
Math,English,Computer
Math,English,Computer
#include<stdio.h>
int main()
{int m,n,z;int i;scanf("%d %d",&m,&n);z = m*n;//printf("%d\n",z);for ( i = 0; i < z; i++){printf("Math,English,Computer\n");}system("pause");return 0;
}