输入五名学生的三门成绩要求
A. 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5个学生数据,要求输出三门课总平均
不需要那么麻烦,只需要把你的姓名以及考号输入电脑就可以查询你的各科成绩,也能得到你总成绩的平均分儿。
B. 已知某班5名学生的三门课成绩试编写程序,输入这5个学生的三门课成绩a[5][3],输出每门课成绩的
#include <stdio.h>
/*定义结构体*/
struct student
{
int a;
int b;
int c;
float ave;
};
int main()
{
struct student sco[5];
printf("输入5个学生的3们成绩:\n");
for(i=0;i<5;i++)
{
scanf("%d%d%d",sco[i].a,sco[i].b,sco[i].c);
sco[i].ave=(float)(sco[i].a+sco[i].b+sco[i].c)/3;
}
printf("5名学生平均成绩分别为:\n");
for(i=0;i<5;i++)
{
printf("%.2f\n",sco[i].ave);
}
return 0;
}
————————————————
如果以上出现“%”符号,那是为何防止系统误识我把半角符号写成全角符号了,注意改回来。
————————————————
亲爱的LZ,如果我的回答能够帮你解决问题,或是对你有帮助,或是对你今后的发展造成积极的影响,那么请您的回答吧,同时更迫切地希望您能够在的时候帮我打上“能解决”和“原创”,然后把两行的五颗五角星分别点亮,点亮五角星就是点亮你我的希望。 我冲11级了,需要很多综合声望,感谢您的帮助,衷心祝愿您快乐每一天~
C. 编写程序要求:输入5个学生3门课程的成绩,
你好。
程序清单:
#include<stdio.h>
#include<string.h>
struct student //学生结构体
{
char name[30]; // 学生姓名
double score[3]; //三门成绩
double aver; //存平均成绩
} st[5],temp; //五个学生
int main()
{
double sum;//定义存放每个学生总成绩的变量
int i,j,count;
// 输入学生信息
for(i=0;i<5;i++)
{
printf("请输入%d号学生姓名:",i+1);
scanf("%s",st[i].name);
sum=0.0; //为每个学生的总成绩赋初值
for(j=0;j<3;j++)
{
printf("请输入%d号学生第%d门课程成绩:",i+1,j+1);
scanf("%lf",&st[i].score[j]); //循环输入每个学生的成绩
sum=sum+st[i].score[j]; //累加每个学生的总成绩
}
st[i].aver=sum/3.0;//计算每个学生的平均成绩
}
//利用冒泡法对平均成绩进行排序
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
{
if(st[i].aver<st[j].aver)
{
memcpy(&temp,&st[i],sizeof(struct student));
memcpy(&st[i],&st[j],sizeof(struct student));
memcpy(&st[j],&temp,sizeof(struct student));
}
}
// 输出结果
printf(" 至少有两个成绩在90分以上的学生有: ");
for(i=0;i<5;i++)
{
count=0;
for(j=0;j<3;j++)
{
if(st[i].score[j]>=90)
{
count++;
}
}
if(count>=2)
printf("%s ",st[i].name);
}
printf(" 平均分由高到低进行排序: ");
for(i=0;i<5;i++)
{
printf("%s %.1f ",st[i].name,st[i].aver);
}
return 0;
}
运行结果:
望采纳!
D. C++输入5个学生的3门课程成绩,要求:
建立student类,以三门课程doublecoruse1,coruse2形式作为学生类的成员变量,在主函数中建立五个类对象或一个对象数组,在此基础上取对象内容进行相关操作
E. 用双重循环结构编写程序,从键盘输入5名学生的3门成绩,分别统计出每个学生的平均成绩
#include<stdio.h>
#include<stdlib.h>
intmain(intargc,char*argv[])//这里如果编译错误的话改成intmain()就可以了
{
inti,c,s=0,temp;
for(i=0;i<=5;i++)
{
for(c=1;c<=5;c++)
{
printf("请输入第%d位学生的第%d门功课成绩:1",i+1,c);
scanf("%d",&temp);
s+=temp;
}
printf("平均成绩:%.2f ",s/5.0);
s=0;
}
system("PAUSE");
return0;
}
//dev-c下编译通过
F. 有5个学生,每个学生的数据包括学号,姓名,3门课的成绩,从键盘输入5个学生的数据,要求输出3门课总平均成
#include<stdio.h>
typedef struct node
{
char name[20];
char num[20];
float score[3];
float avr;
} stud;
stud student[5];
void Calculate_Avr(stud *stu);
int main (int argc, char **argv)
{
int i,j;
for(i=0;i<5;i++)
{
("please input score of student %d:\n",i+1);
printf("please input number of student:\n");
scanf("%s",student[i].num);
printf("please input name of student:\n");
scanf("%s",student[i].name);
printf("The syudent score:\nlesson1\tlesson2\tlesson3\n");
scanf("%f%f%f",&student[i].score[0],&student[i].score[1],&student[i].score[2]);
}
for(i=0;i<5;i++)
{
Calculate_Avr(&student[i]);
printf("student%d: name number lesson1 lesson2 lesson3 average\n",i);
printf(" %s %s %3.1f %3.1f %3.1f %3.1f\n",student[i].name,student[i].num,student[i].score[0],student[i].score[1],student[i].score[2],student[i].avr);
}
}
//计算单个学生的平均成绩
void Calculate_Avr(stud *stu)
{
int i;
float avr_reg;
for(i=0,avr_reg=0;i<3;i++)
{
avr_reg = avr_reg + stu->score[i];
}
stu->avr = avr_reg/3;
}
G. java题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),
import java.util.*;
class Student{
int num;
String name;
double score1;
double score2;
double score3;
public Student(int num,String name,double score1,double score2,double score3){
this.num=num;
this.name=name;
this.score1=score1;
this.score2=score2;
this.score3=score3;
}
}
public class Work{
public static void main(String[]args){
Student[] x=new Student[5];
Scanner scanner=new Scanner(System.in);
for(int i=0;i<5;i++){
System.out.println("请输入学生号:");
int num1=scanner.nextInt();
System.out.println("请输入学生姓名:");
String num2=scanner.next();
System.out.println("请输入第一门课的成绩:");
double score1=scanner.nextDouble();
System.out.println("请输入第二门课的成绩:");
double score2=scanner.nextDouble();
System.out.println("请输入第三门课的成绩:");
double score3=scanner.nextDouble();
Student p=new Student(num1,num2, score1,score2,score3);
x[i]=p;
}
System.out.println("第一门课的平均成绩为:"+(x[0].score1+x[1].score1+x[2].score1+x[3].score1+x[4].score1)/5);
System.out.println("第二门课的平均成绩为:"+(x[0].score2+x[1].score2+x[2].score2+x[3].score2+x[4].score2)/5);
System.out.println("第三门课的平均成绩为:"+(x[0].score3+x[1].score3+x[2].score3+x[3].score3+x[4].score3)/5);
}
}
H. C语言编程:输入5名学生3门课程成绩
您好!下面是我写的程序希望对您有用!
#include<stadio.h>
void main()
{
int x1,x2,x3,x4,x5,y1,y2,y3,y5,y5,z1,z2,z3,z4,z5,m1,m2,m3,m4,m5,n1,n2,n3;
printf("输入5名同学的3门课程的成绩 x1,x2,x3,x4,x5,y1,y2,y3,y5,y5,z1,z2,z3,z4,z5\n");
scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&x1,&x2,&x3,&x4,&x5,&y1,&y2,&y3,&y4,&y5,&z1,&z2,&z3,&z4,&z5);
n1=(x1+x2+x3+x4+x5)/5;
n2=(y1+y2+y3+y4+y5)/5;
n3=(z1+z2+z3+z4+z5)/5;
m1=(x1+y1+z1)/3;
m2=(x2+y2+z2)/3;
m3=(x3+y3+z3)/3;
m4=(x4+y4+z4)/3;
m5=(x5+y5+z5)/3;
printf("%d,%d,%d,%d,%d,%d,%d,%d",m1,m2,m3,m4,m5,n1,n2,n3);
}
I. C语言编程:输入5名学生3门课程成绩
楼上说的是...还有:
stdsco 没有赋初值诶...
所以系统给了一个很小的值,你在 stdsco += sco;
这里实际上没多回大用...那个值太答小了...
建议啦:以后在新建变量的时候就给他一个初值...
J. 有5个学生,每个学生的数据包括学号、姓名、3门课的成绩。从键盘输入5个学生的数据,
嗯...
首先,你的max的函数原型应该是int max(struct student stu[]);不应该是void,返回平均分数最高的下标即可。
然后求平均分数的函数也有些问题,函数类型是void的,可是有return语句,而且return语句在for循环中,想通过这种方法返回3个平均值,可是函数执行完第一个return语句后就就推出函数了,所以这个有点问题。
总问题就是void函数不能够有返回值,也就是不能够有return语句。
这里面还有好多问题,我语言表达能力有限,我把我改的程序给你看一下,要是有不懂的可以问,和你的程序差不多,在你的基础上改的。
#include "stdio.h"
struct student
{
char num[6];
char name[20];
float score[3];
float aver;
}stu[3];
void input(struct student stu[])
{
int i;
printf("please enter the information of student:\n");
for(i=0;i<3;i++)
scanf("%s %s %f %f %f",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
}
void avg(struct student stu[])
{
int i,j;
float sum;
for(j=0;j<3;j++)
{
sum=0;
for(i=0;i<3;i++)
sum+=(stu[i].score[j]);
stu[i].aver=sum/3.0; //有修改
}
}
int max(struct student stu[]) //有修改
{
int i,m;
for(i=0;i<3;i++)
{
m=0;
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;
if(stu[i].aver>stu[m].aver)
m=i;
}
return m; //有修改
}
void main()
{
int i, m; //有修改,m用于保存最高平均分数的下标
void input(struct student stu[]);
void avg(struct student stu[]);
int max(struct student stu[]);
input(stu);
avg(stu);
m = max(stu);
for (i = 0; i < 3; i++) //有修改
printf("第%d科平均成绩avg:%f\n", i + 1, stu[i].aver); //有修改
printf("num:%s\nname:%s\nscore:%f %f %f\navg:%f\n",stu[m].num,stu[m].name,stu[m].score[0],stu[m].score[m],stu[m].score[2],stu[m].aver);
}