第1个回答 2009-07-21
#include "graphics.h"
#define SIZE 100
#include <conio.h>
#include<stdio.h>
int N;
struct student
{
int No ;
int age;
char name[10];
char sex;
int computerscore;
int Englishscore;
int Mathscore;
int Sum[10];
int aver[10];
char Dengji[10];
}stud[SIZE];
FILE*fp;
int i;
int j;
int m;
int n;
int o;
void input()
{
i=1;
printf("please input student data\n");
while(i<=N)
{
printf("No :");
scanf("%d",&stud[i].No );
printf("name:");
scanf("%s",stud[i].name);
printf("age");
scanf("%d",&stud[i].age);
printf("sex");
getchar();
scanf("%c",&stud[i].sex);
printf("computerscore:");
scanf("%d",&stud[i].computerscore);
printf("Englishscore:");
scanf("%d",&stud[i].Englishscore);
printf("Mathscore:");
scanf("%d",&stud[i].Mathscore);
i++;
}
}
chuli(struct student stud[])
{
int k,m;
struct student t;
int Sum[SIZE],aver[SIZE];
for(i=1;i<=N;i++)
Sum[i]=stud[i].computerscore+stud[i].Englishscore+stud[i].Mathscore;
for(i=1;i<=N;i++)
aver[i]=Sum[i]/3;
for(i=1;i<=N;i++)
{
k=i;
{
for(j=i+1;j<=N;j++)
if(Sum[i]<Sum[j])
k=j;
if(k!=i)
{
t=stud[i];stud[i]=stud[k];stud[k]=t;
m=Sum[i];Sum[i]=Sum[k];Sum[k]=m;
n=aver[i];aver[i]=aver[k];aver[k]=n;
}
}
}
for(i=1;i<=N;i++)
{
if(aver[i]>=90)
{printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tA\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]);
printf("\t\t\t\t\twelldone!please go on!\n");
}
else if(aver[i]>=80)
printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tB\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]);
else if(aver[i]>=70)
printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tC\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]);
else if(aver[i]>=60)
printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tD\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]);
else
{
printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tE\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]);
printf("\t\t\t\t\tYou should work hard!\n");
}
}
}
Maxcomputerscore(struct student stud[])
{
int i=0,Max;
Max=stud[i].computerscore;
m=stud[i].No ;
for(i=1;i<N;i++)
if(Max<stud[i].computerscore)
{
Max=stud[i].computerscore;
m=stud[i].No ;
}
printf("Maxcomputerscore:");
printf("Max=%d,m=%d\n",Max,m);
}
Maxenglishscore(struct student stud[])
{
int i,Max;
i=0;
Max=stud[i].Englishscore;
m=stud[i].No ;
for(i=1;i<N;i++)
if(Max<stud[i].Englishscore)
{
Max=stud[i].Englishscore;
m=stud[i].No ;
}
printf("Max Englishscore:");
printf("Max=%d,m=%d\n",Max,m);
}
MaxMathscore(struct student stud[])
{
int i=0;
int m;
int Max;
Max=stud[i].Mathscore;
m=stud[i].No ;
for(i=1;i<N;i++)
if(Max<stud[i]. Mathscore)
{
Max=stud[i].Mathscore;
m=stud[i].No ;
}
printf("MaxMathscore:");
printf("Max=%d,m=%d\n",Max,m);
}
main()
{
char ch;
int i,k,driver=DETECT,mode;
initgraph(&driver,&mode,"c:\\tc");
system("cls");
printf("\t\t*******************************************\n");
setbkcolor(BLUE);cleardevice();
setfillstyle(1,2);
setcolor(YELLOW);
rectangle(100,100,540,380);
floodfill(50,50,14);
setcolor(12);
settextstyle(1,0,8);
outtextxy(130,150,"welcome!");
printf("\t\t*******************************************\t\t\t\n");
printf("\t\t please input the number of students!\t\t\t\t");
scanf("%d",&N);
system("cls");
printf("\t\t**---------------------------------------**\n");
printf("\t\tT:input the student data .\n");
printf("\t\t\C:have a look at the data. \n");
printf("\t\tL:get every subject the highest score \n");
printf("\t\tJ:stored information \n");
printf("\t\tX:quit the program \n");
printf("\t\t**---------------------------------------**\n");
printf("please input your choise:");
while((ch=getchar())!='w')
{
switch(ch)
{
case'T':input();
break;
case'C':
chuli(stud);
break;
case'L':
Maxcomputerscore(stud);
Maxenglishscore(stud);
MaxMathscore(stud);
break;
case'X':exit(o);
case'J':
fp=fopen("student.txt","w+");/*创建一个sutden.txt文本文件*/
if(!fp)
{
printf("cannot open the file");
return;
}/*在文件头写入包含的学生信息*/
for(i=0;i<N;i++)
fprintf(fp,"%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\t\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore);
fclose(fp);/*写完后关闭文件*/
break;
default: printf("\nplease input the right word:\nT.C.L.J.X.\n");
}
printf("\n--------------over------------------------------\n");
}
}
第2个回答 2009-07-10
这个。。。有点害你的成分在里面。。。好好学习啊
#define total_kemu 3
void main()
{
float stu[100][total_kemu+1];
int number=0;
float score_math,score_english,score_other;
float sum=0.0,average,temp;
b=scanf("%d,%d,%d",&score_math,&score_english,&score_other);
while(b==1)/*输入字母结束输入*/
{
stu[number][1]=score_math;
stu[number][2]=score_english;
stu[number][3]=score_other;
for(i=1;i<total_kemu+1;i++)
sum+=stu[number][i];
stu[number][0]=sum/total_kemu;
number++;
b=scanf("%d,%d,%d",&score_math,&score_english,&score_other);
}
for(i=0;i<number;i++)
for(j=i;j<number;j++)
{
if(stu[j][0]>stu[i][0])
{
temp=stu[i][0];
stu[i][0]=stu[j][0];
stu[j][0]=temp;
}
}
for(i=0;i<number;i++)
printf("%f",stu[i][0]);
}本回答被提问者采纳
第3个回答 2009-07-19
#include "stdio.h"
#define N 2
struct student
{
char num[10];
char name[10];
int score[3];
int sum;
float ave;
}stu[10];
input()
{
int i;
printf("\n\nPlease input %d zu xue sheng shu ju:\n",N);
printf("\nxuehao xingming cj1 cj2 cj3\n");
for(i=0;i<N;i++)
{scanf("%s",stu[i].num);
scanf("%s",stu[i].name);
scanf("%d%d%d",&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
stu[i].ave=stu[i].sum*1.0/3;
}
}
outzpj()
{
int i;
float cj1=0,cj2=0,cj3=0;
for(i=0;i<N;i++)
{ cj1+=stu[i].score[0];
cj2+=stu[i].score[1];
cj3+=stu[i].score[2];
}
cj1/=N;
cj2/=N;
cj3/=N;
printf("\n\nNow output 3 men ke cheng de zong ping jun fen :\n");
printf("\n diyimen diermen disanmen \n");
printf("%10.1f%10.1f%10.1f\n",cj1,cj2,cj3);
}
outbjg()
{
int i,biao=1;
printf("\n\nBu ji ge de ren shu you\n");
printf("\nXuehao xingming cj1 cj2 cj3\n");
for(i=0;i<N;i++)
if (stu[i].score[0]<60 || stu[i].score[1]<60 ||stu[i].score[2]<60)
{
printf("%-10s",stu[i].num);
printf("%-10s",stu[i].name);
printf("%8d%8d%8d\n",stu[i].score[0],stu[i].score[1],stu[i].score[2]);
biao=0;
}
if (biao==1)
printf("\nMei you bu ji ge de ren ...\n");
}
outzfjx()
{
int i,j;
struct student t;
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
if(stu[i].sum <stu[j].sum)
{t=stu[i];stu[i]=stu[j];stu[j]=t;}
printf("\n\nAn zhao zong fen pai xu hou de jie guo shi : \n");
printf("\nXuehao xingming cj1 cj2 cj3 sum \n");
for(i=0;i<N;i++)
{
printf("%-10s",stu[i].num);
printf("%-10s",stu[i].name);
printf("%8d%8d%8d%8d\n",stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].sum);
}
}
cunpan()
{
FILE *fp;
int i;
if ((fp=fopen("abc.txt","w"))!=NULL)
{
fprintf(fp,"\n\nAn zhao zong fen pai xu hou de jie guo shi : \n");
fprintf(fp,"\nXuehao xingming cj1 cj2 cj3 sum ave\n");
for(i=0;i<N;i++)
{
fprintf(fp,"%-10s",stu[i].num);
fprintf(fp,"%-10s",stu[i].name);
fprintf(fp,"%8d%8d%8d%8d%8.1f\n",stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].sum,stu[i].ave);
}
fclose(fp);
}
}
main()
{
input();
outzpj();
outbjg();
outzfjx();
cunpan();
}