從鍵盤上輸入若干個學生的成績
A. 用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);
}
B. 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就是班級人數。
在執行的時候,你輸入數據應該以空格隔開,因為你是以判斷換行符為循環條件的。
我在中間加了一條提示語句,這樣程序的交互性會更好一點,也避免自己出錯。
C. 從鍵盤上輸入若干個學生的成績,統計計算出平均成績,並輸出低於平均分的學生成績,輸入負數結束程序執行
printf("enter grades:\n");
scanf("%f", &grade[i]);
while (grade[i] !=-1){
i++;
scanf("%f", &grade[i]);
n++;
}
你用的do-while循環先無條件執行了括弧里的內容,再判斷while里的條回件。這樣會導致n值出錯。答
D. 從鍵盤上輸入若干個學生的成績,統計並輸出最高成績和最低成績,當輸入負數時結束輸入,請填空。
#include<stdio.h>
void main(){
float x,max,min,aver,sum=0.0;
int n=0
scanf("%f",&x);
max=x; min=x:
while([1]){ //當輸入非負數時,表示輸入沒完成,否則不執行循環體
if([2]) max=x; //如果輸入的數比max大,則將回其賦給答max
if([3]) max=x; //如果輸入的數比min小,則將其賦給min
sum= [4]; [5]; //將輸入的x加到sum中,同時人數n自增
scanf("%f",&x); //輸入下一個成績
}
aver= [6]; //將總成績sum除以人數n賦給平均成績aver
printf("\nmax=%f\nmin=%f\naverager=%f\n",max,min,aver); //列印數據
}
答案:
[1]x>=0
[2]x>max
[3]x<min
[4]sum+=x;
[5]++n;(n++;也可以)
[6]sum/n;
E. 從鍵盤上輸入若干個學生的成績,當輸入負數時結束。統計平均成績,並輸出 低於 平均分的學生成績。
#include<stdio.h>
int main()
{int i,n=-1,s=0,a[100];
float av;
do
{
scanf("%d",&a[++n]);
s+=a[n];
}while(a[n]>=0);
s-=a[n];
av=(float)s/n;
printf("Av=%.2f ",av);
for(i=0;i<n;i++)
if(a[i]<av)
printf("%d ",a[i]);
printf(" ");
}
F. 從鍵盤上輸入若干個學生的成績
#include<stdio.h>
intmain()
{
floatx,max,min;
scanf("%f",&x);
max=x;
//min=();
min=x;
while(x>=0)
{
if(x>max)
max=x;
if(x<min)
min=x;
//scanf("%f",());
scanf("%f",&x);
}
printf(" Max=%f Min=%f ",max,min);
return0;
}
分別填 x &x
運行結內果容
G. 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;
}
H. 用C++編程:從鍵盤上輸入若干學生的成績,統計並輸出最高成績和最低成績,當輸入負數時結束輸入。
#include<iostream>
using namespace std;
int main()
{
double a[100];
double max=0,min=100,t;
int i;
for(i=0;i<100;i++)
{
cin>>a[i];
if(a[i]<0)
break;
else
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
}
cout<<"最大值是:"<<max<<endl;
cout<<"最小值是:"<<min<<endl;
return 0;
}
(8)從鍵盤上輸入若干個學生的成績擴展閱讀:
include用法:
#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。
插入頭文件的內容
#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:
#include<math.h>//一些數學函數的原型,以及相關的類型和宏
如果需要包含針對程序所開發的源文件,則應該使用第二種格式。
採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。
I. 從鍵盤輸入若干個學生的成績,統計計算出平均成績,
三樓理解錯了,一二樓都對,使用while循環的,我認為如果不能運行應該是輸入格式的問題,%f輸入很詭異,應該是%f,&a,沒有&怕是不行吧
J. 從鍵盤上輸入若干個學生的成績,計算平均成績,並輸出低於平均分的分值
程序如下
#include <stdio.h>
void main()
{
int i,n,s=0;
float ave;
int a[30];
printf("請輸入學生個數:");
scanf("%d",&n);
printf("請輸入學生成績:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
s+=a[i];
}
ave=(float)s/n;
printf("平均成績為:%.2f\n",ave);
printf("低於平均分回的有:\n");
for(i=0;i<n;i++)
if(a[i]<ave)
printf("%d ",a[i]);
printf("\n");
}
------------------------------
祝樓主取得好答成績