SQL Server 常用函式!!!
阿新 • • 發佈:2020-12-22
例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 請按任意鍵繼續. . .