从键盘上输入若干个学生的成绩
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");
}
------------------------------
祝楼主取得好答成绩