有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;
}