二叉樹的中序線索化,數據結構C語言實現。根據清華大學的教材實現!
標簽: 二叉樹
上傳時間: 2013-12-15
上傳用戶:ggwz258
算法中釣魚算法的實現,用C語言實現,適合初學者。
標簽: 算法
上傳時間: 2013-12-14
上傳用戶:xyipie
人工神經網絡中的BP學習算法,用c語言實現
上傳時間: 2013-12-29
上傳用戶:大三三
一個基于GTK+的單詞數值計算器,1、 按照規則計算單詞的值,如果 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 26個字母(全部用大寫)的值分別為 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26,如: WINJACK這個單詞的值就為:W+I+N+J+A+C+K=23+9+14+1+3+11=71% HARDWORK=H+A+R+D+W+O+R+D=8+1+18+4+23+15+18+11=98% LOVE=L+O+V+E=12+15+22+5=54% LUCK=L+U+C+K=12+21+3+11=47% ATTITUDE= A+T+T+I+T+U+D+E=1+20+20+9+20+24+4+5=100% 2、對程序的界面布局參考如下圖所示,在第一個單行文本框輸入一個單詞,點擊“計算”按鈕,按照以上算法計算出該單詞的值。 3、如果在最下面的單行文本框輸入一個文件路徑,此文件每行記錄一個單詞,那么經過程序計算出各個單詞的值,并把結果輸出到當前目錄下result.txt文件中。如果文件不存在,應該提示錯誤。
上傳時間: 2014-01-11
上傳用戶:康郎
操作系統中請求分頁算法,用C++寫的,我們的作業,老師驗收通過。
上傳時間: 2014-01-23
上傳用戶:hxy200501
c語言實現鼠標圖形化,c中對鼠標操作,可用于c的圖形化編程
上傳時間: 2013-12-25
上傳用戶:康郎
μC/OS-II實驗程序說明 軟件版本:V1.0 日期:2005-05-25 多任務是指多個任務在操作系統的控制下同時運行,它的實現實際上是靠操作系統在 多個任務之間進行切換和調度。在多任務系統中,內核負責管理各個任務,即為每個任務 分配CPU時間,并且負責各任務之間的通訊。μC/OS-II操作系統最多可以支持64個任務。 每個任務的優先級不能相同,優先級數字越小,優先級越高。在μC/OS-II操作系統中, OSInit()創建了兩個μC/OS-II的默認任務:一個是OS_TaskIdle,即CPU空閑任務,它擁有 最低的優先級,當有其他任務運行時此任務處于就緒態,沒有其他任務時就是它在運行, 該任務是μC/OS-II必需的任務;另一個任務是OS_TaskStat,它每隔一段時間就做一些統
上傳時間: 2017-05-31
上傳用戶:gaojiao1999
1、將makefile中的 CROSS =/usr/local/arm/2.95.3/bin/arm-linux- CFLAGS+=-I/usr/local/src/2.4.18-rmk7/include CFLAGS+=-I/usr/local/src/2.4.18-rmk7/include/linux CFLAGS+=-I/usr/local/arm/2.95.3/arm-linux/include 路徑改為你宿主機上的。 2、#make,來編譯驅動模塊。 3、#export PATH=$PATH:/usr/local/arm/2.95.3/bin //取決于你宿主機上的交叉編譯工具路徑 #arm-linux-gcc -o gpio_test gpio_test.c //編譯應用程序 最終在你的當前文件夾下會生成gpiodrv.o與gpio_test兩個文件。 4、#mkdir /tmp/1 5、通過ftp的方法,把gpio_test與gpiodrv.o文件下載到你的開發板上的/tmp/1目錄中。 6、#mknod /dev/gpio c 220 0 //創建文件節點 #insmod gpiodrv.o #chmod +x gpio_test #./gpio_test 然后,就可以看到四個LED燈在閃爍了。:)
標簽: local arm-linux usr makefile
上傳時間: 2017-08-03
上傳用戶:zhouchang199
:消落帶土壤由于在水陸交替的特殊生境和復雜的地球化學共同作用下形成,具有獨特的理化性質和生態功能。各營養鹽 含量在時間和空間上具有較高的變異性,土壤中有機質的分布及遷移和轉化均受到復雜的影響。針對官廳水庫流域上游媯水 河段消落帶,選擇典型消落帶落水區,對該區土壤有機質含量的時空分布特征進行研究。結果表明:1)研究區消落帶土壤有機 質含量較為貧瘠,變化范圍在1.64—26∥蠅之間,平均值僅為13.169/kg,變異系數達50.59%。說明消落帶由于季節性干濕交 替的特殊水文條件的影響,土壤養分的分布具有較高的空間異質性。淹水頻繁區有機質含量平均值為15.74∥婦,高于長期出 露區的10.12∥k,且變異系數為41.38%,小于長期出露區的54.98%。說明淹水頻繁區對土壤養分的持留能力更強,且周期性 的淹水條件使得研究區近岸具有相似的生境類型,不同采樣點土壤有機質含量的差異相對較小。2)不同植物群落下.蘆葦和 香蒲群落土壤有機質含量最高,平均值為17.089/kg;含量最低的是以小葉楊和白羊草為主的中旱生植物帶,平均值為9.12,∥ kg;其次是酸模葉蓼、大刺兒菜為優勢物種的濕生植物帶,土壤有機質含量平均值為15.499/kg。3)不同土壤層次有機質含量差 異較大,總體變化趨勢均由表層向下逐漸減少,各層之間體現出顯著差異性(P<0.05)。研究區土壤C/N變化范圍在1.64— 18.95,平均值為8.95。說明研究區土壤碳氮比相對較低,有機質的腐殖化程度較高,且長期出露區土壤有機質更容易發生分 解,C的累積速度遠小于N。土壤C/N垂直分布大致呈先增大后減小趨勢,在30cm處達到最大值,而后隨著土壤深度的增加逐 漸減小。4)消落帶土壤有機質分布的影響因素分析中,土壤有機質與全磷呈極顯著正相關,相關系數為0.62(P<0.01):與土壤 全氮和C/N呈顯著正相關(R=0.57,O.60;P<0.05)。這說明研究區土壤全磷、全氮、C/N和有機質明顯具有相同的變化趨勢.和 有機質存在相互影響。其次,土壤有機質和濕度在呈顯著負相關(R=一O.51;P<0.05),表明研究區土壤濕度對有機質含量具有 顯著的影響。氣候因子中,溫度對研究區土壤有機質的分布具有顯著的影響,相關系數為一0.51(P<0.05)。植被因子中.植被 覆蓋度和土壤有機質含量呈顯著正相關,相關系數為0.64,表明植被因子也是影響土壤有機質分布的重要因素之一。
上傳時間: 2018-08-13
上傳用戶:閩外莯莯
#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學生信息 void input_student2(void);//輸入總函數 void input_student3(int &,int);//判斷學號是否重復 void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數學成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學生信息 void print_student1(int);//顯示全部學生資料 void sort_student1(void);//排序總函數 void menu(void);//菜單調度總函數 int search_student2(int);//按學號查詢學生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數 void delete_student2(int,int);//刪除學生信息 void delete_student1(void);//刪除總函數 void change_student2(int);//修改學生資料 void change_student1(void);//修改總函數 void input_score3(int);//統計成績 void input_score1(void);//統計成績總函數 void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統 void save_student(student *,int);//保存學生信息 void main() { menu(); } void save_student(student *s,int a)//保存學生信息 { FILE *fp; if((fp=fopen("d:\\學生信息.txt","wb"))==NULL) { printf("不能打開文件!\n"); } else { printf("保存信息到D盤\n"); fprintf(fp,"本班所有學生具體信息如下:\r\n"); fprintf(fp," 學號 姓名 數學成績 英語成績 計算機成績 平均成績\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系統 { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統所能容納的最大學生數為%d人\n學生信息保存在D盤根目錄下,保存文件為“學生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統計成績總函數 { int c; c=search_student2(iNumOfStu); printf("學號:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績錄入成功!\n"); stu[c].average=input_score2(c); } void input_score3(int a)//統計成績 { printf("數學新成績:"); scanf("%f",&stu[a].sco.math); printf("英語新成績:"); scanf("%f",&stu[a].sco.english); printf("計算機新成績:"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改學生資料 { printf("學號:%d----修改為:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改為:",stu[a].name); gets(stu[a].name); printf("數學成績:%.2f----修改為:",stu[a].sco.math); scanf("%f",&stu[a].sco.math); printf("英語成績:%.2f----修改為:",stu[a].sco.english); scanf("%f",&stu[a].sco.english); printf("計算機成績:%.2f----修改為:",stu[a].sco.computer); scanf("%f",&stu[a].sco.computer); } void change_student1(void)//修改總函數 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此學生信息?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { change_student2(c); stu[c].average=input_score2(c); printf("信息修改成功!\n"); } } void delete_student1(void)//刪除總函數 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否刪除此條記錄?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { delete_student2(c,iNumOfStu); printf("記錄已刪除!\n"); } } void delete_student2(int a,int b)//刪除學生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查詢總函數 { printf("1、按學號查詢\n2、按平均分最高查詢\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { search_student2(iNumOfStu); break; } case 2: { search_student3(iNumOfStu); break; } default: break; } } void menu(void)//菜單調度總函數 { print_menu(); choosemenu(); } void sort_student1(void)//排序總函數 { printf("1、按數學成績排序\n2、按英語成績排序\n3、按計算機成績排序\n4、按平均成績排序\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { sort_student2(stu,iNumOfStu); break; } case 2: { sort_student3(stu,iNumOfStu); break; } case 3: { sort_student4(stu,iNumOfStu); break; } case 4: { sort_student5(stu,iNumOfStu); break; } default: break; } } void print_student1(int a)//顯示全部學生資料 { printf("本班所有學生具體信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//顯示學生信息 { printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average); } void print_student2(void)//顯示表頭 { printf(" 學號 姓名 數學成績 英語成績 計算機成績 平均成績\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學號是否重復 { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學號代表的學生已錄入\n1、覆蓋原信息\n2、重新輸入\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替換!\n"); break; } case 2: { printf("請重新輸入學生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//輸出菜單 { printf("======歡迎來到學生信息管理系統======\n"); printf(" 1、輸入學生資料\n"); printf(" 2、刪除學生資料\n"); printf(" 3、查詢學生資料\n"); printf(" 4、修改學生資料\n"); printf(" 5、顯示學生資料\n"); printf(" 6、統計學生成績\n"); printf(" 7、排序學生成績\n"); printf(" 8、保存學生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統\n"); printf("====================================\n"); printf("請選擇:"); } void input_student2(void)//輸入總函數 { char end; printf("請輸入學生信息(在最后一個學生信息錄入完成后以“/”結束錄入):\n"); for(int i=0;(end=getchar())!='/';i++) { input_student1(i); ++iNumOfStu; input_student3(i,iNumOfStu); } for(int j=0;j<iNumOfStu;j++) { stu[j].average=input_score2(j); } } void input_student1(int a)//輸入學生信息 { printf("學號:"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("數學成績:"); scanf("%f",&stu[a].sco.math); printf("英語成績:"); scanf("%f",&stu[a].sco.english); printf("計算機成績:"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//計算學生平均成績 { return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3; } void search_student3(int a)//按平均分最高查詢并輸出 { int max=0; for(int i=0;i<a;i++) { if(stu[max].average<stu[i].average) { max=i; } } print_student2(); print_student3(max); } void sort_student2(student s[],int a)//按照數學成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.math>stu[max].sco.math) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student3(student s[],int a)//按照英語成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.english>stu[max].sco.english) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student4(student s[],int a)//按照計算機成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.computer>stu[max].sco.computer) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student5(student s[],int a)//按照平均成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].average>stu[max].average) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } int search_student2(int a)//按照學號查找學生并輸出 { int num; int c; printf("請輸入要查詢的學號:"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此學生的信息是:\n"); print_student2(); print_student3(c); return c; } void choosemenu(void)//菜單選擇 { int i; scanf("%d",&i); switch(i) { case 1: { input_student2(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 2: { delete_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 3: { search_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 4: { change_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 5: { print_student1(iNumOfStu); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 6: { input_score1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 7: { sort_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 8: { save_student(stu,iNumOfStu); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 9: { print_help(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 10: { exit_student(); } default: break; } } 運行結果: 源文件下載地址: http://115.com/file/clnq138g#一個簡單的學生成績管理系統.rar (請將此地址復制到瀏覽器地址欄中訪問下載頁面)
標簽: 成績查詢系統
上傳時間: 2019-06-08
上傳用戶:啊的撒旦