1. 程式人生 > 實用技巧 >這可能是目前最輕量級、最支援MVVM、可定製性最好的開源WPF Chart控制元件!

這可能是目前最輕量級、最支援MVVM、可定製性最好的開源WPF Chart控制元件!

例39:有n個學生的資訊(包括學號、姓名、成績),C語言程式設計實現按照成績的高低順序輸出學生的資訊。


解題思路:用結構體陣列存放n個學生資訊,採用選擇法對各元素進行排序,在定義結構體陣列時進行初始化,為清晰起見,將每個學生的資訊用一對花括號包起來。
原始碼演示:

#include<stdio.h>//標頭檔案
struct student //學生結構體
{
  int num; //學號
  char name[20]; //姓名
  float score; //成績
} ;
int main()//主函式
{
  //定義結構體變數且賦值
  struct student stu[5]={{10010,"Tom
",78},{10011,"Jon",98.5},{10012,"Lisi",100},{10013,"zhangsan",99},{10014,"wangwu",10}}; struct student t; int i,j,k;//定義整型變數 printf("成績由大到小排序:\n");//提示語句 for(i=0;i<4;i++)//外層for迴圈 { k=i;//把i的值賦給k for(j=i+1;j<5;j++)//內層for迴圈 { if(stu[j].score>stu[k].score)//挑出分數高的 { k=j;//把相應的j賦值給k
} } t=stu[k]; //把成績高的放到前面 stu[k]=stu[i]; stu[i]=t; } for(i=0;i<5;i++)//迴圈輸出5個人的成績 { printf("%d,%10s,%6.2f分\n",stu[i].num,stu[i].name,stu[i].score);//輸出結果 } return 0;//主函式返回值為0 }


編譯執行結果如下:

成績由大到小排序:
10012, Lisi,100.00分
10013, zhangsan, 99.00分
10011, Jon, 98.50分
10010, Tom, 78.00分
10014, wangwu, 10
.00分 -------------------------------- Process exited after 0.05481 seconds with return value 0 請按任意鍵繼續. . .

C語言學習路線

C語言開發工具

C語言|按成績高低輸出學生資訊