使用結構體變量存儲學生姓名和課程成績,計算平均分及查找不及格同學姓名及分數


 1 struct Student        //聲明Student類型結構體變量
 2     {
 3         char name[20];
 4         int score[5];
 5     };
 6 typedef struct Student Stu;
 7 
 8 void main()
 9 {
10 
11     Stu stu[3];      定義Student類型變量數組  
12     int i,j;
13     for(i=0;i<3;i++)      //輸入學生姓名和成績
14     {
15         printf("please input student[%d]'s name and scores:\n",i+1);
16         printf("Name:");scanf("%s",stu[i].name);
17         printf("\nScores:");
18         for(j=0;j<4;j++)
19         {
20             scanf("%d",&stu[i].score[j]);}
21     stu[i].score[j]=0;
22     }
23     void aver(Stu s[],int n);
24     aver(stu,3);      //求平均分
25     void fail(Stu s[],int n);
26     fail(stu,3);      //打印不及格成績同學成績
27 }
28 void aver(Stu s[],int n)
29 {
30     int i,j;
31     float sum;
32     for(i=0;i<n;i++)
33     {
34         for(j=0,sum=0.0;j<4;j++)
35         {
36             sum=sum+s[i].score[j];
37         }
38         s[i].score[j]=sum/j;
39     }
40     printf("average scores:\n");
41     for(i=0;i<n;i++)
42     {
43         printf("\n%s :%.1d",s[i].name,s[i].score[4]);
44     }
45     printf("\n");
46 }
47 void fail(Stu s[],int n)
48 {
49     int i,j;
50     for(i=0;i<n;i++)
51     {
52         for(j=0;j<4;j++)
53         {
54             if(s[i].score[j]<60)
55             {
56                 printf("\n%s failed:",s[i].name);
57                 printf("\nScores:");
58                 for(j=0;j<4;j++)
59                     printf("%d\t",s[i].score[j]);
60                 break;
61             }
62         }
63     }
64 }

  結構體類型和int,char,數組等基本類型一樣,也是一種C語言數據類型,只不過這是一種自定義數據類型,我們可以根據需求由各種基本數據類型構造。

  使用結構體變量時遵循變量使用的一般規則。一般把結構體類型聲明放到代碼的最前面,這一可以使其使用范圍為整個程序文件;也可以放在頭文件里。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 有一個班4個學生,5門課程 ①求第1門課程的平均分;②找出有兩門以上課程不及格的學生,輸出他們的學號和全部課程成績及平均成績; ③找出平均成績在90分以上或全部課程成績在85分以上的學生 分別編3個函數實現以上3個要求 有10個學生,每個學生的數據包括學號、姓名、3門課程的成績,從鍵盤輸人10個學生數據,要求輸出3門課程總平均成績,以及最高分的學生的數據(包括學號、姓名、3門課程成績、平均分數) MySQL查詢兩門及兩門以上不及格的學生,顯示姓名 MySQL 查找一個表中平均分大於60的學生姓名與對應分數(學生名都不同) C語言之:結構體動態分配內存(利用結構體數組保存不超過10個學生的信息,每個學生的信息包括:學號、姓名和三門課(高數、物理和英語 )的成績和平均分(整型)。) java例題_50 題目:有五個學生,每個學生有 3 門課的成績,從鍵盤輸入以上數據(包括學生號,姓名,三門課成 績),計算出平均成績,將原有的數據和計算出的平均分數存放在磁盤文件"stud"中。 python實現:寫一個班級的類, 存儲班里人數,統計班級里各學科的總分的最高分、各學科的平均分; 寫班級里的學生類,存儲學生所有成績, 計算某個學生的全部課程的平均分、全部課程的總分、全部課程的最高分 練習2 --查詢平均成績大於等於60分的同學的學生編號和學生姓名和平均成績 SQL查詢有兩門以上不及格的學生及查詢出全部及格的學生 四、編寫程序,輸入一批學生的成績,遇0或負數則輸入結束,要求統計並輸出優秀(大於85)、通過(60~84)和不及格(小於60)的學生人數。
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM