當前位置:編程學習大全網 - 編程語言 - 程序設計題目(用C語言)

程序設計題目(用C語言)

#include<stdio.h>

#include<string.h>

#include<malloc.h>

typedef struct stu //壹個學生的檔案

{

char num[20];//學號

char name[20];//姓名

float score[5]; //成績,前三門是單科成績,第四個是總分,最後壹個是平均分

}student;

student s[10]; //所有學生的信息

void main()

{

void init();//初始化函數申明

void sort();//排序函數申明

void print();//輸出函數申明

init();

sort();

print();

}

void init()//初始化所有學生的檔案

{

int i,j;

for(i=0;i<10;i++) //逐個鍵入學生的信息

{

printf("請輸入壹學生的學號:");

scanf("%s",s[i].num);

printf("請輸入該學生的姓名:");

scanf("%s",s[i].name);

printf("請輸入該學生的三門成績:");

s[i].score[3]=0;

for(j=0;j<3;j++)

{

scanf("%f",&s[i].score[j]);

s[i].score[3]+=s[i].score[j]; //求總分

}

s[i].score[4]=s[i].score[3]/3; //求平均分

}

printf("學生檔案建立成功!\n");

}

void sort()

{

int i,j,k;

char str[20];

float temp;

for(i=0;i<9;i++) //主循環,進行排名

for(j=i+1;j<10;j++)

if(s[j].score[3]>s[i].score[3])

{

strcpy(str,s[i].num); //交換學號

strcpy(s[i].num,s[j].num);

strcpy(s[j].num,str);

strcpy(str,s[i].name); //交換姓名

strcpy(s[i].name,s[j].name);

strcpy(s[j].name,str);

for(k=0;k<5;k++) //交換成績

{

temp=s[i].score[k];

s[i].score[k]=s[j].score[k];

s[j].score[k]=temp;

}

}

}

void print()

{

int i;

for(i=0;i<10;i++)

printf("%s %s %.1f %.1f %.1f %.1f %.1f\n",s[i].num,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],s[i].score[3],s[i].score[4]

  • 上一篇:廣西退伍小夥為女友打氣球贏獎品,這個小夥的射擊技術有多好?
  • 下一篇:什麽是生物醫學工程
  • copyright 2024編程學習大全網