假設學生人數最多不超過100。從鍵盤輸入學生人數n及n個學生的分數到陣列中,求最大值、最小值、平均值、不及格的人數。
uj5u.com熱心網友回復:
這樣的陣列題不難吧,就是個排序和判斷uj5u.com熱心網友回復:
剛學C語言,我做了一早上了
uj5u.com熱心網友回復:
給你個思路
定義變數:
int max, min; //最大值、最小值
int i, sum = 0, t = 0;
float avge; //平均值
int arr[10]; //假定10個學生
//陣列輸入應該會吧
max = arr[9];
min = arr[0];
for (i=0; i<10; i++)
{
if (min > a[i])
min = a[i] //比最小值小則賦值給最小值
if (max < a[i])
max = a[i] //比最大值大則賦值給最大值
if (a[i] < 60)
t++; //不及格人數
sum += a[i];
}
avge = sum * 1.0 / 10; //平均值
輸出 max min avge t
uj5u.com熱心網友回復:
我剛剛試著編了一下,但是還是有錯誤
但是我不知道咋改啊#include<stdio.h>
void main()
{
int max,min;
int i,n,sum=0,t=0;
int a[i];
float avge;
printf("請輸入學生的個數:");
scanf("%d",&n);
printf("請輸入%d個學生的成績:");
{for(i=0;i<n;i++)
scanf("%d",&a[i]);
max=a[n-1];
min=a[0];
for(i=0;i<n;i++)
{if(min>a[i])
min=a[i];
if(max<a[i])
max=a[i];
if(a[i]<60)
t++;
sum+=a[i];
}
avge=sum*1.0/n;
printf("最大值%d\n,最小值%d\n,不及格人數%d\n,平均分%lf",max,min,t,avge);
}}
uj5u.com熱心網友回復:
int main()
{
int max, min, ave, unq;
int i;
int n; // number of students
scanf("%d",&n);
char c;
scanf("%c",&c);
int str[n]; //
for(i=0 ; i<n ; i++)
{
scanf("%d",&str[i]);
}
max = str[0];
min = str[0];
for(i=0 ; i<n-1 ; i++)
{
if(str[i]>str[i+1])
{
max = str[i];
min = str[i+1];
}
else
{
min = str[i];
max = str[i+1];
}
}
unq = 0;
for(i=0 ; i<n ; i++)
{
if(str[i] < 60)
{
unq++;
}
}
ave = 0;
for(i=0 ; i<n ; i++)
{
ave = ave+str[i];
}
ave = ave/n;
}
大概就是這樣,題主加上輸出和.h應該就行了
uj5u.com熱心網友回復:
int main()
{
int max, min, ave, unq;
int i;
int n; // number of students
scanf("%d",&n);
char c;
scanf("%c",&c);
int str[n]; //
for(i=0 ; i<n ; i++)
{
scanf("%d",&str[i]);
}
max = str[0];
min = str[0];
for(i=0 ; i<n-1 ; i++)
{
if(str[i]>str[i+1])
{
max = str[i];
min = str[i+1];
}
else
{
min = str[i];
max = str[i+1];
}
}
unq = 0;
for(i=0 ; i<n ; i++)
{
if(str[i] < 60)
{
unq++;
}
}
ave = 0;
for(i=0 ; i<n ; i++)
{
ave = ave+str[i];
}
ave = ave/n;
}
大概就是這樣,題主加上輸出和.h應該就行了
謝謝!!!
我會了謝謝謝謝
uj5u.com熱心網友回復:
int main()
{
int max, min, ave, unq;
int i;
int n; // number of students
scanf("%d",&n);
char c;
scanf("%c",&c);
int str[n]; //
for(i=0 ; i<n ; i++)
{
scanf("%d",&str[i]);
}
max = str[0];
min = str[0];
for(i=0 ; i<n-1 ; i++)
{
if(str[i]>str[i+1])
{
max = str[i];
min = str[i+1];
}
else
{
min = str[i];
max = str[i+1];
}
}
unq = 0;
for(i=0 ; i<n ; i++)
{
if(str[i] < 60)
{
unq++;
}
}
ave = 0;
for(i=0 ; i<n ; i++)
{
ave = ave+str[i];
}
ave = ave/n;
}
大概就是這樣,題主加上輸出和.h應該就行了
我知道了謝謝

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/66092.html
標籤:C語言
上一篇:用C語言的回圈陳述句輸出如下圖案
