① c语言编程要求输入全班3门课的成绩,输出全班的总成绩以及平均分还有每个人的总分跟平均分
建议建立二维数组,保留同学信息和成绩。通过循环完成
终于完成了。。。。为了方便测试,暂且定为4个人
#include <stdio.h>
#define N 4
main()
{
int i,j;
float stu[N][3],sum[N],avg[N],total=0;
for(i=0;i<N;i++)
{
printf("\n请输入学号%d三门课成绩:",i+1);
for(j=0;j<3;j++)
{
scanf("%f",&stu[i][j]);
}
}
for(i=0;i<N;i++)
{
sum[i]=0;
for(j=0;j<3;j++)
{
sum[i]+=stu[i][j];
}
avg[i]=sum[i]/3;
}
for(i=0;i<N;i++)
{
printf("第%d位总分为%f,平均分为%f\n",i+1,sum[i],avg[i]);
total+=sum[i];
}
printf("全班级总分为%f,平均分为%f",total,total/(N*3));
}
② C语言 输入全班成绩 统计优良合格不及格人数,并输出总分平均分,用函数实现
你要手动输入成绩3遍吗...
输入一遍保存到数组里多省事
③ C语言 输入全班学生成绩,统计优良合格不及格人数,并输出总分平均分,用函数实现
#include <stdio.h>
void main()
{
int n=0,i,e=0,x=0,d=0,v=0;
double s=0;
int a[100],y[100],l[100],h[100],b[100];
printf("请输入学生的人数:");
scanf("%d",&n);
printf("请输入学生的成绩:");
for(i=1; i<=n; i++)
{
scanf("%d",&a[i]);
s=s+a[i];
if(a[i]<60 && a[i]>0){
b[e]=a[i];
e++;
}else if(a[i]>=60 && a[i]<70){
h[x]=a[i];
x++;
}else if(a[i]>=70 && a[i]<80){
l[d]=a[i];
d++;
}else if(a[i]>=80 && a[i]<=100){
y[v]=a[i];
v++;
}
}
printf("
优的学生成绩为:
");
for(i=0; i<v; i++)
{
printf(" %d",y[i]);
}
printf("
良的学生成绩为:
");
for(i=0; i<d; i++)
{
printf(" %d",l[i]);
}
printf("
合格的学生成绩为:
");
for(i=0; i<x; i++)
{
printf(" %d",h[i]);
}
printf("
不合格的学生成绩为:
");
for(i=0; i<e; i++)
{
printf(" %d",b[i]);
}
s=s/n;
printf("
平均成绩为:%.1f
", s);
}
④ c语言中输入全班的三门课成绩输出每人各科平均成绩
#include<stdio.h>
intmain(){
doublemark[4][3],aver[4],high[3]={0};
inti,j;
for(i=0;i<4;i++){
doubleall=0.0;
printf("请输入%c的三门成绩: ",'A'+i);
for(j=0;j<3;j++){
scanf("%lf",&mark[i][j]);
high[j]=high[j]<mark[i][j]?mark[i][j]:high[j];
all+=mark[i][j];
}
printf("%c同学的平均成绩是:%.2lf ",'A'+i,all/3);
}
printf("三科的最高分分别为:%.2lf%.2lf%.2lf",high[0],high[1],high[2]);
return0;
}
⑤ 用C语言求一个班的平均成绩,但是这个班人数未知,怎么写这个程序呀大神们帮帮忙~谢啦~
C语言程序源代码。输入一个班全体学生的成绩,把不及格的学生成绩输出,并求几个学生的平均成绩。(这个或许对你有帮助)
#include<stdio.h>
#define N 4 //宏定义,初始化班级学生人数,可通过修改N的初值改变
int main()
{
int a[N],b[N]={0},i=0,j=0,sum=0;
float ave=0.0;
printf("please input scores:\n");
for(i=0;i<N;i++) //输入学生成绩
scanf("%d",&a[i]);
printf("input over!!!please waiting.... \n");
printf("input scores is:\n");
for(i=0;i<N;i++) //输出所以学生成绩
printf("%d ",a[i]);
putchar('\n');
printf("the underline's scores is:\n");
for(i=0;i<N;i++) //测试成绩是否及格,默认为低于60分的成绩
{
if(a[i]<60)
{
b[j++]=a[i]; //将不及格人数及成绩村入b数组中
printf("%d ",a[i]);
}
}
putchar('\n');
for(i=0;i<j;i++) //计算出不及格人数的总成绩
sum+=b[i];
ave=(sum*0.1/j)*10; //计算不及格同学的平均成绩,并将其转换为实型数据
printf("avverage scores is:\n");
printf("%f ",ave); //输出平均成绩
putchar('\n');
}
⑥ C语言编程,两个班,输入每个班成绩,求每个班平均成绩,并求每个班低于80分的人数(人数分数自己设)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#defineCOUNT50//每班人数上限设定
//定义一个班级人数及成绩的结构体类型
typedefstructcl
{
intnumbers;//班级人数
intscores[COUNT];//每人分数
}CLASS;
//设置班级的人数
voidset_number(CLASS*cls,intnumber);
//设置班级人员的成绩
voidset_scores(CLASS*cls,int*scores);
//获取班级的平均成绩
floatget_average(constCLASS*cls);
//随机生成班级的成绩信息
voidget_score(int*scores,intn);
//打印成绩信息
voidprint_scores(constint*scores,intn);
//获取班级低于80分的人数
intget_numbers_under80(constCLASS*cls);
intmain()
{
CLASScls1,cls2;//创建两个班级对象
intscores[COUNT]={0};//定义存储成绩的数组
intnums1=0,nums2=0;//定义班级人数变量
//接收并校验班级的人数信息
printf("请输入班级1的人数(50以内):");
scanf("%d",&nums1);
while(nums1>COUNT)
{
printf("人数输入错误,请重新输入:");
scanf("%d",&nums1);
}
printf("请输入班级2的人数(50以内):");
scanf("%d",&nums2);
while(nums2>COUNT)
{
printf("人数输入错误,请重新输入:");
scanf("%d",&nums2);
}
//设置班级1的相关信息
get_score(scores,nums1);
printf("班级1的成绩信息: ");
print_scores(scores,nums1);
set_number(&cls1,nums1);
set_scores(&cls1,scores);
//设置班级2的相关信息
get_score(scores,nums2);
printf("班级2的成绩信息: ");
print_scores(scores,nums2);
set_number(&cls2,nums2);
set_scores(&cls2,scores);
printf("班级1的平均成绩[%.2f] ",get_average(&cls1));
printf("班级2的平均成绩[%.2f] ",get_average(&cls2));
printf("班级1中低于80分的人数[%d] ",get_numbers_under80(&cls1));
printf("班级2中低于80分的人数[%d] ",get_numbers_under80(&cls2));
return0;
}
voidset_number(CLASS*cls,intnumber)
{
cls->numbers=number;
}
voidset_scores(CLASS*cls,int*scores)
{
inti=0;
for(;i<cls->numbers;i++)
{
cls->scores[i]=scores[i];
}
}
floatget_average(constCLASS*cls)
{
inti=0;
floatsum=0.0;
for(;i<cls->numbers;i++)
{
sum+=cls->scores[i];
}
returnsum/cls->numbers;
}
//为了方便,使用随机数据代表成绩
voidget_score(int*scores,intn)
{
inti=0;
srand(time(NULL));
for(;i<n;i++)
{
scores[i]=rand()%100+1;
}
}
voidprint_scores(constint*scores,intn)
{
inti=0;
for(;i<n;i++)
{
if(0!=i&&0==i%10)
printf(" ");
printf("%d",scores[i]);
}
printf(" ");
}
intget_numbers_under80(constCLASS*cls)
{
inti=0,nums=0;
for(;i<cls->numbers;i++)
{
if(80>cls->scores[i])
nums++;
}
returnnums;
}
⑦ 用c语言设计一个程序统计一个班的学生成绩
#include<stdio.h>
#include<stdlib.h>
//定义一个学生结构体数组
struct Student{
int id;
double score;
}Student[100];
//记录实际导入学生个数
int len = 0;
//求最高分
void getmax() {
int maxid = 0;
double maxscore = -1;
for (int i = 0; i < len; i++) {
if (Student[i].score > maxscore) {
maxscore = Student[i].score;
maxid = Student[i].id;
}
}
printf("班级最高分为:%.2lf学号是:%d ", maxscore, maxid);
}
//求最低分
void getmin() {
int minid = 0;
double minscore = 101;
for (int i = 0; i < len; i++) {
if (Student[i].score < minscore) {
minscore = Student[i].score;
minid = Student[i].id;
}
}
printf("班级最低分为:%.2lf学号是:%d ", minscore, minid);
}
//求总分
double getsum() {
double sum = 0;
for (int i = 0; i < len; i++) {
sum += Student[i].score;
}
return sum;
}
//求平均分
double getave() {
double ave = 0;
return getsum() / len;
}
//导入学生信息
void input() {
int id = 0;
double score = 0;
while (1) {
printf("请输入学生学号:");
scanf_s("%d", &id);
if (id == -1) { break; }
printf("请输入学生成绩:");
scanf_s("%lf", &score);
Student[len].id = id;
Student[len].score = score;
len++;
}
printf("信息导入完毕! ");
}
int main() {
input();
printf("全班总分为:%.2lf ", getsum());
printf("全班平均分为:%.2lf ", getave());
getmax();
getmin();
return 0;
}
注:此代码运行于VS2017,如果在VC6.0中运行,可将scanf_s改成scanf
并且for(int i=0;i<len;i++){xxx}改成int i=0;for(i=0;i<len;i++){xxx}即可正常运行
程序运行测试图如下:
⑧ 用c语言编写程序:计算班级每位学生的平均成绩。
第一题:
#include "stdio.h"
float *Grade(float *num,int i) //用来冒泡排序 num传入数组指针,i传入数组个数
{
int j,k;
float temp;
for (j=0;j<i;j++)
for (k=0;k<i-j;k++)
{
if (num[k]<num[k+1])
{
temp=num[k];
num[k]=num[k+1];
num[k+1]=temp;
}
}
return num;
}
void main()
{
float num[100];
int i=0,j=0,iavg=0; //i=数组个数,j=循环,iavg=高于平均成绩人数
float avg=0,sum=0; //avg=平均成绩,sum=总成绩
printf("请输入成绩,按Ctrl+D结束:");
while (scanf("%f",&num[i])) //循环输入成绩
{
sum+=num[i];
i++;
}
avg=sum/i;
printf("平均分为%.1f\n",avg);
Grade(num,i);
printf("所有学生的成绩为:");
for (j=0;j<i;j++)
{
printf("%.1f ",num[j]);
if (num[j]>avg)
iavg++;
}
printf("\n高于平均人数的有%d人\n",iavg);
}
第二题:
#include "stdio.h"
int digit(int i,int *dinum)
{
int j=0,k=0;
while (i=0) //计算位数
{
dinum[k]=i%10; //将数字存入数组
i=i/10;
j++;k++;
}
return j;
}
void main()
{
int inum,dinum[10],i,j; //inum=整数 dinum=存各个数字的数组 i,j=循环需要
printf("请输入整数:");
scanf("%d",&inum);
j=digit(inum,dinum);
printf("该整数为 %d 位\n",j);
printf("数字分别为:");
for (i=j-1;i>=0;i--)
{
printf("%d ",dinum[i]);
}
}
第三题:
#include "stdio.h"
int fun(int *a)
{
int i=1,j=0;
for (i;i<1000;i++)
{
if ((i%7==0||i%11==0)&&!(i%7==0&&i%11==0))
{
a[j]=i;
j++;
}
}
return j;
}
void main()
{
int a[500],i,j;
j=fun(a);
for (i=0;i<j;i++)
{
printf("%d ",a[i]);
if (i%15==0)
printf("\n");
}
以上代码均在VC6.0中编译通过,现在1点了。后面的题以后再说
⑨ 求用c语言写一个程序,求各个班级各门学科的平均分以及总分的平均分
这个是我以前写的程序,只要在if语句里加一句输出总人数和总分就ok了,其他的要求都和你一样
#include<stdio.h>
/*程序从main函数开始执行*/
int main()
{
int counter;
int grade;
int total;
float average;
total = 0;
counter = 0;
printf( "Enter grade, -1 to end: " );
scanf( "%d", &grade );
while ( grade != -1 )
{
total = total + grade;
counter =counter + 1;
printf( "Enter grade, -1 to end: " );
scanf( "%d",&grade );
}
if ( counter != 0 )
{
average = ( float ) total / counter;
printf( "Class average is %.2f\n", average );
}
else
{
printf( "No grades were entered\n" );
}
return 0;
}
⑩ 使用c语言编写程序,分别统计出每个学生的平均成绩。
#include<stdio.h>
#define N 5//这里设置班级人数
void main()
{
int i,sum=0,high=0,score;
float average;
printf("input everyone's score.\n");
for(i=0;i<N;i++)
{
scanf("%d",&score);
sum+=score;
if(score>high) high=score;
}
average=(float)sum/N;
printf("average=%f\n",average);
printf("highest=%d\n",high);
}
这个代码很容易懂。你拿去改下。。我就不给你调试了。这个是实现某班平均成绩然后输出平均成绩最高成绩的,如果采纳我的。我可以给你编一个很通用的