有5个学生每个学生有3门课程的成绩
『壹』 编写程序.有5个学生,每个学生的数据包括学号,3门课的成绩.并输出每个学生的平均成绩
#include<stdio.h>
typedefstructstudent_score
{
intnumber;
intx;
inty;
intz;
floatave;
}student;
voidmain()
{
studenta[5];
inti;
for(i=0;i<5;i++)
{
printf("请输入第%d个学生的学号和成绩。 ",i+1);
scanf("%d",&a[i].number);
scanf("%d",&a[i].x);
scanf("%d",&a[i].y);
scanf("%d",&a[i].z);
}
for(i=0;i<5;i++)
{
a[i].ave=(float)((a[i].x+a[i].y+a[i].z)/3.0);
printf("学号%d的平均分为专%f ",a[i].number,a[i].ave);
}
}
VC6.0调试通过属。
『贰』 C语言编程题:有5个学生,每个学生有3门课成绩,从键盘上输入以上数据(包括学号、姓名、数学语文英
#include<stdio.h>
int main()
{
void aver(float *p,int n,int m);
int i,j;
float score[5][3];float *p;
p=score[0];
for(i=0;i<5;i++)
{
printf("请输入第自%d学生的三门课程的成绩:\n",i+1);
for(j=0;j<3;j++)
scanf("%f\n",&score[i][j]);
}
aver(p,5,3);
}
void aver(float *p,int n,int m)
{
float sum;
int i,j;
for(i=0;i<n;i++)
{sum=0;
for(j=0;j<m;j++)
sum+=*(p+i*m+j);
printf("\n第%d个学生平均成绩:%5.2f\n",i+1,sum/m);
}
}
『叁』 1. 有 5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩)
用什么语言,本来你的分类在其它编程语言中的,我帮你转移到了C/C++中,请问用什么语言,编写?
『肆』 有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均
环境:VC
struct student
{
char id[10];
char name[10];
float score1;
float score2;
float score3;
float ave;
};
#include<stdio.h>
void main()
{
struct student stu[5];
struct student temp;
FILE *fp;
int i,j;
for(i=0;i<5;i++)
{
printf("请输入第%d个学生的学号:",i);
fflush(stdin); //清空函数
gets(stu[i].id);
printf("请输入第%d个学生的姓名:",i);
fflush(stdin);
gets(stu[i].name);
printf("请输入第%d个学生的第1科成绩:",i+1);
scanf("%f",&stu[i].score1);
printf("请输入第%d个学生的第2科成绩:",i+1);
scanf("%f",&stu[i].score2);
printf("请输入第%d个学生的第3科成绩:",i+1);
scanf("%f",&stu[i].score3);
stu[i].ave=(stu[i].score1+stu[i].score2+stu[i].score3)/3;
}
fp=fopen("stu","w"); //写入文件stu
for(i=0;i<5;i++)
fwrite(&stu[i],sizeof(struct student),1,fp);
fclose(fp);
for(i=1;i<5;i++)
{
for(j=0;j<5-i;j++)
{
if(stu[j].ave>stu[j+1].ave)
{
temp=stu[j+1];
stu[j+1]=stu[j];
stu[j]=temp;
}
}
}
printf("排序后各平均成绩:\n");
for(i=0;i<5;i++)
{
printf("%f\n",stu[i].ave);
}
fp=fopen("stu_sort","w"); //写入文件stu_sort
for(i=0;i<5;i++)
fwrite(&stu[i],sizeof(struct student),1,fp);
fclose(fp);
}
仅供参考
『伍』 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);
}
}
『陆』 有5个学生,每个学生有3门课程的成绩,编写成绩管理程序,要求:用c语言完成
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define NAMELEN 10
#define IDLEN 20
typedef struct student
{
char name[NAMELEN];
char ID[IDLEN];
double first;
double second;
double third;
double average;
}STU;
STU stu[6];
int cmp( const void *a ,const void *b)
{
return (*(STU *)a).average > (*(STU *)b).average ? 1 : -1;
}
int main()
{
int i;
FILE *_fp=fopen("student.txt","w"),*fp=fopen("sort.txt","w"),*fp_=fopen("sort2.txt","w");
for(i=0;i<5;i++)
{
printf("输入第%d个学生的学号、姓名及三门课的成绩:\n",i+1);
scanf("%s%s%lf%lf%lf",stu[i].ID,stu[i].name,&stu[i].first,&stu[i].second,&stu[i].third);
stu[i].average=(stu[i].first+stu[i].second+stu[i].third)/3.0;
fprintf(_fp,"%s %s %.2lf %.2lf %.2lf %.2lf\n",stu[i].ID,stu[i].name,stu[i].first,stu[i].second,stu[i].third,stu[i].average);
}
qsort(stu,5,sizeof(stu[0]),cmp);
for(i=0;i<5;i++)
{
fprintf(fp,"%s %s %.2lf %.2lf %.2lf %.2lf\n",stu[i].ID,stu[i].name,stu[i].first,stu[i].second,stu[i].third,stu[i].average);
}
printf("增加一位学生的学号、姓名及三门课的成绩:\n");
scanf("%s%s%lf%lf%lf",stu[5].ID,stu[5].name,&stu[5].first,&stu[5].second,&stu[5].third);
stu[5].average=(stu[5].first+stu[5].second+stu[5].third)/3.0;
qsort(stu,6,sizeof(stu[0]),cmp);
for(i=0;i<6;i++)
{
fprintf(fp_,"%s %s %.2lf %.2lf %.2lf %.2lf\n",stu[i].ID,stu[i].name,stu[i].first,stu[i].second,stu[i].third,stu[i].average);
}
fclose(_fp);
fclose(fp);
fclose(fp_);
return 0;
}
『柒』 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5个学生数据,要求输出三门课总平均
不需要那么麻烦,只需要把你的姓名以及考号输入电脑就可以查询你的各科成绩,也能得到你总成绩的平均分儿。
『捌』 有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;
}
『玖』 有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);
}
『拾』 有五个学生,每个学生有三门课程的成绩,从键盘输入学生数据(包括学号,姓名,3门课程成绩),计算出平均成绩
经测试,程序正确运行,并把输入结果保存在stud文件中。
源代码如下:
#include <stdio.h>
#define ID 11
typedef struct _stu
{
char id[ID];
int sco1;
int sco2;
int sco3;
}stu;
int main()
{
int i;
stu s[5];
FILE *fp;
float ave;
printf("请输入五个学生的学号和三门成绩:\n");
for(i=0;i<5;i++)
{
scanf("%s%d%d%d",s[i].id,&s[i].sco1,&s[i].sco2,&s[i].sco3);
}
if((fp=fopen("stud","w"))==NULL)
{
printf("文件打开失败\n");
return ;
}
for(i=0;i<5;i++)
{
ave=(s[i].sco1+s[i].sco2+s[i].sco3)/3.0;
fprintf(fp,"%s %d %d %d %.2f\n",s[i].id,s[i].sco1,s[i].sco2,s[i].sco3,ave);
}
fclose(fp);
return 0;
}