c輸入若干學生的成績
A. C語言:從鍵盤上輸入若干學生的成績,計算出平均成績,並輸出不及格的成績和人數
#include<stdio.h>
int main()
{
char ch;
int i,x,n=0,s=0;
for(i=1;;i++)
{
printf("請輸入學生成績,以空格隔開,以回車結束:\n");
scanf("%d",&x);
if(x<60)
{
printf("%d ",x);
n++;
}
s+=x;
if((getchar())=='\n')
break;
}
printf("\n平均分=%d 班級人數%d 不及格人數=%d\n",s/i,i,n);
}
你的這段函數在if判斷那裡出現錯誤,在判斷中用等號,不是賦值號,還有班級人數那裡出現了錯誤,你是從1開始計算的,那麼i就是班級人數。
在執行的時候,你輸入數據應該以空格隔開,因為你是以判斷換行符為循環條件的。
我在中間加了一條提示語句,這樣程序的交互性會更好一點,也避免自己出錯。
B. 從鍵盤上輸入若干學生的成績 求最高分- C程序
//本程序不含輸入來糾錯源功能,必須按格式輸入XX
XX
XX
XX回車
#include
main()
{
int
x,max_x,min_x,y,n=0;//y臨時存儲的數
n無意義
printf("從鍵盤上輸入若干學生的成績:(用空格隔開)\n");
scanf("%d",&x);
max_x=x,min_x=x;
do
{
if(n!=0)
{
scanf("%d",&x);
}
if(max_x
x)
min_x=x;
y=getchar();//判斷是空格還是回車
if(y=='\n')
break;
n=1;
}while(1);
printf("max=%d\n
min=%d\n",max_x,min_x);
}
C. 輸入若干個學生的百分製成績,計算平均分並輸出.輸入-1表示結束,若輸入的成績超過100,則需重新輸入.c語言
#include<stdio.h>
voidmain()
{
intsum=0;
intn=0;
inta,i;
do{
printf("請輸入成績,以-1結束:");
scanf("%d",&a);
while(a>100)
{
printf("輸入錯誤,請重新輸入:");
scanf("%d",&a);
}
sum+=a;//求總分
n++;//統計人數專
}while(a!=-1)
printf("平均分為屬:%d ",sum/n);
}
D. C語言編程題:從鍵盤上輸入若干學生成績(百分制整數),直到輸入-1結束。求平均分並保留1位小數輸出。
#include<stdio.h>
void main(void)
{
int count = 0; //輸入抄成績個數
int sum = 0; //總分
float ave = 0; //平均分
int score;
scanf("%d", &score);
while(score != -1)
{
count ++;
sum += score;
scanf("%d", &score);
}
if(count == 0)
printf("沒有輸入學生成績\n");
else{
ave = (float)sum / count;
printf("平均分: %.1f\n", ave);
}
}
E. C語言從鍵盤輸入若干名學生的成績,當輸入-1時結束,統計出及格人數
#include <stdio.h>
void main()
{
int a[200],i,n=0;
printf("請輸入學生成績:");
for(i = 0 ; i < 200 ; i ++)
{
回scanf("%d",&a[i]);
if(a[i] >= 60)
n++;
else if(a[i] == -1)
break;
}
printf("及格人數為:答%d",n);
}
F. C語言由鍵盤輸入一個/若干學生的五門課程的成績(任意就行),計算出成績的最低分最高分和平均分
思路:for循環鍵盤輸入四個,累加求和,最後輸出其平均數。
參考代碼:
#include<stdio.h>
intmain()
{
floata,sum=0;
inti;
for(i=0;i<4;i++){
scanf("%f",&a);
sum+=a;
}
printf("平均成績為:%.2f ",sum/4);
return0;
}
/*
運行結果:
65758595
平均成績為:80.00
*/
G. 用c語言解:從鍵盤上輸入若干學生的c語言成績,統計並輸出最高和最低成績,當輸入負數時結束輸入。
#include<stdio.h>
int main()
{
float score,max,min;
score = max = min = 0;
printf("請輸入學生成績回:");
scanf("%f",&score);
max = min = score;
while(score>=0)
{
答scanf("%f",&score);
if(max < score)
{
max = score;
}
if(min > score && score>=0)
{
min = score;
}
}
printf("最高成績:%g,最低成績:%g\n",max,min);
}
H. c語言:從鍵盤上輸入若干個學生的成績,當成績小於0時結束輸入.計算出平均成績,並輸出不及格的成績和人數
#include<stdio.h>
intmain(){
doublex;
doublea[100];
doublesum=0;
inti,tot=0,count=0;
scanf("%lf",&x);
while(x>=0){
sum+=x;
tot++;
if(x<60)a[count++]=x;
scanf("%lf",&x);
}
printf("%lf ",sum/(double)tot);
printf("Fail:%d ",count);
for(i=0;i<count;i++)
printf("%lf ",a[i]);
return0;
}
I. c語言從鍵盤上輸入若干個學生的成績,統計並輸出其中的最高成績和最低成績,當輸入負數時結束輸入
① 代碼:
#include<stdio.h>
intmain(intargc,charconst*argv[])
{
doublescore,highest,lowest;
intn;
highest=-1;lowest=1000000000;
n=0;
while(1){
scanf("%lf",&score);
if(score<0.0)break;
if(highest<score)highest=score;
if(lowest>score)lowest=score;
n++;
}
printf("Total%d: ",n);
printf("Thehighestscoreis:%6.2f ",highest);
printf("Thelowestscoreis:%6.2f ",lowest);
return0;
}
② 運行:
1006092.580.550.8-1
Total5:
Thehighestscoreis:100.00
Thelowestscoreis:50.80
J. c語言 某一門功課的程序統計。輸入若干個同學的成績。以-1作為輸入終止的標志,計算平均成績並輸出
#include<stdio.h>
int main()
{
float std[100],sum=0;
int i=0,num;
printf("輸入學生成績,以-1結束:");
for(;i<100;i++)
{
scanf("%f",&std[i]);
if(std[i] == -1) break;
}
num = i;
for(i=0;i<num;i++) sum += std[i];
sum = sum/num;
printf("學生的平均成內績是容%f",sum);
return 0;
}