2023年C語言實驗報告參考答案_第1頁
2023年C語言實驗報告參考答案_第2頁
2023年C語言實驗報告參考答案_第3頁
2023年C語言實驗報告參考答案_第4頁
2023年C語言實驗報告參考答案_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

長沙理工大學(xué)2023C語言實驗報告參考答案實驗一熟悉C語言程序開發(fā)環(huán)境及數(shù)據(jù)描述四、程序清單1.編寫程序?qū)崿F(xiàn)在屏幕上顯示以下結(jié)果:ThedressislongTheshoesarebigThetrousersareblack答案:#include<stdio.h>main(){ printf("Thedressislong\n");?printf("Theshoesarebig\n"); printf("Thetrousersareblack\n");}2.改錯題(將對的程序?qū)懺谥付ㄎ恢?對的的程序為:#include<stdio.h>main(){printf("商品名稱價格\n");printf("TCL電視機(jī)¥7600\n");printf("美的空調(diào)¥2023\n");printf("SunRose鍵盤¥50.5\n");}2.編寫程序:a=150,b=20,c=45,編寫求a/b、a/c(商)和a%b、a%c(余數(shù))的程序。答案:#include<stdio.h>main(){ inta,b,c,x,y;? a=150;?b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x);?printf("a/c的商=%d\n",y);?x=a%b; y=a%c; printf("a/b的余數(shù)=%d\n",x);?printf("a/c的余數(shù)=%d\n",y);}4.設(shè)變量a的值為0,b的值為-10,編寫程序:當(dāng)a>b時,將b賦給c;當(dāng)a<=b時,將a賦給c。(提醒:用條件運算符)答案:#include<stdio.h>main(){?inta,b,c; ?a=0;?b=-10; ?c=(a>b)?b:a;?printf("c=%d\n",c);}五、調(diào)試和測試結(jié)果1.編譯、連接無錯,運營后屏幕上顯示以下結(jié)果:ThedressislongTheshoesarebigThetrousersareblack3、編譯、連接無錯,運營后屏幕上顯示以下結(jié)果:a/b的商=7 a/c的商=3 a/b的余數(shù)=10?a/c的余數(shù)=154.編譯、連接無錯,運營后屏幕上顯示以下結(jié)果:c=-10實驗二順序結(jié)構(gòu)程序設(shè)計四、程序清單1.鍵盤輸入與屏幕輸出練習(xí)問題1D。問題2改printf("%c,%c,%d\n",a,b,c);這條語句改成:printf("%c%c%d\n",a,b,c);問題3改scanf("%c%c%d",&a,&b,&c);這條語句改為:scanf("%c,%c,%d",&a,&b,&c);問題4改printf("%c,%c,%d\n",a,b,c);這條語句改成:printf("\’%c\’\’%c\’%d\n",a,b,c);2(1)從鍵盤輸入兩個八進(jìn)制數(shù),計算兩數(shù)之和并分別用十進(jìn)制和十六進(jìn)制數(shù)形式輸出。#include<stdio.h>intmain(){ inta,b,c; printf("Enteraandb:"); scanf("%o%o",&a,&b);?c=a+b;?printf("d:%d\n",c); printf("x:%x\n",c);?return0;}2(2)編寫程序:從鍵盤輸入兩個實數(shù)a和x,按公式計算并輸出y的值:#include<stdio.h>#include<math.h>intmain(){?floata,x,y;? scanf("%f%f",&a,&x);??y=pow(a,5)+sin(a*x)+exp(a*x)+log(a+x); printf("y=%f\n",y); return0;}3.改錯題對的的程序為:#include<stdio.h>main(){ inta,b,c,s; scanf("%d%d%d",&a,&b,&c);?s=a+b+c; printf("%d=%d+%d+%d\n",s,a,b,c);/*輸出s=a+b+c*/?printf("%d+%d+%d=%d\n",a,b,c,s);/*輸出a+b+c=s*/}五、調(diào)試和測試結(jié)果2(1)輸入:1214輸出:261a2(2)輸入:10輸出:2.000000實驗三選擇結(jié)構(gòu)程序設(shè)計四、設(shè)計流程(算法描述)(請寫出上機(jī)內(nèi)容2(2)題的算法描述)重要是兩兩比較,然后得出最大的數(shù)五、程序清單2(1)輸入整數(shù)x和a,計算并輸出下列分段函數(shù)f(x)的值(保存2位小數(shù)),請調(diào)用log函數(shù)求自然對數(shù),調(diào)用fabs函數(shù)求絕對值。程序為:#include<stdio.h>#include<math.h>main(){?intx,a;?doubley;?printf("Enteraandx:"); scanf("%d%d",&a,&x);?if(fabs(x)!=a) y=log(fabs((a+x)/(a-x)))/(2*a);?else y=0; printf("a=%d,f(%d)=%.2f\n",a,x,y);}(2)輸入a、b、c三個整數(shù),輸出最大數(shù)。#include<stdio.h>main(){ inta,b,c,x;?scanf("%d%d%d",&a,&b,&c);??if(a>=b) ?x=a; else? x=b;?if(x<c)??x=c; printf("themaxnumberis:%d\n",x); return0;}3.改錯題對的程序為:#include<stdio.h>main(){ doublen;?printf("Entern:"); scanf("%lf",&n); if(n<0)? printf("nislessthan0\n");?elseif(n==0) printf("nisequalto0\n");?else? printf("nisgreater0\n");}六、調(diào)試和測試結(jié)果2(1)Enteraandx:56a=5,f(6)=0.24Enteraandx:55a=5,f(5)=0.002(2)輸入:321輸出:themaxnumberis:3輸入:231輸出:themaxnumberis:3輸入:123輸出:themaxnumberis:3實驗四循環(huán)結(jié)構(gòu)程序設(shè)計四、設(shè)計流程(算法描述)(請寫出上機(jī)內(nèi)容2的算法描述)一方面求出每一個給定數(shù)的所有因子和,然后從2到5000循環(huán),那一個數(shù)x與因子之和相等,就是完數(shù)。五、程序清單1.編寫程序:求1+2+3+…+100和12+22+33+…+1002。#include<stdio.h>#include<math.h>intmain(){?inti,j,sum;??sum=0;?for(i=1;i<=100;i++) sum+=i;?printf("thesumis:%d\n",sum);?sum=0;?for(i=1;i<=100;i++) {? j=pow(i,2); ?sum+=j; } printf("thesquaresumis:%d\n",sum);?return0;}2.一個數(shù)假如恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”,編寫程序找出2~5000中的所有完數(shù)。#include<stdio.h>#include<math.h>main(){?inti,j,sum=0;? for(i=2;i<=5000;i++)//遍歷從2到5000的所有數(shù) {? sum=0; for(j=1;j<=i/2;j++)//找出給定整數(shù)X的所有因子和 ?{??if(i%j==0) ??sum+=j;? }??if(i==sum)//sum為因子和,假如和i相等,則輸出 ? printf("%d",i); } return0;}3.改錯題對的的程序為:#include<stdio.h>main(){ intn=1;?intfind=0; while(!find) {??if(n%5==1&&n%6==5&&n%7==4&&n%11==10)??{? printf("n=%d\n",n); ?find=1; ?} ?n++;?}}六、調(diào)試和測試結(jié)果1:結(jié)果:thesumis:5050thesquaresumis:3383502:結(jié)果:628496實驗五函數(shù)和預(yù)解決命令四、設(shè)計流程(算法描述)(請寫出上機(jī)內(nèi)容1的算法描述)運用循環(huán)將m乘n次五、程序清單1.編寫自定義函數(shù)longpower(intm,intn),計算的值。運用此函數(shù)編程序?qū)崿F(xiàn):從鍵盤輸入兩個整數(shù)m和n,計算出的值。#include<stdio.h>longpower(intm,intn)//要返回的是long型{?inti; longs;//由于是要返回的數(shù),所以這里也定義為long型 s=1;?for(i=1;i<=n;i++) { ?s*=m;?} returns;}intmain(void){ intm,n;?scanf("%d%d",&m,&n);?printf("s=%ld\n",power(m,n)); ?return0;}2、寫出兩個函數(shù),分別求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個函數(shù),并輸出結(jié)果,兩個整數(shù)由鍵盤輸入。源程序如下:intzdgys(intn1,intn2){inty,i;for(i=n2;i<=1;i--)if(n1%i==0&&n2%i==0){y=i;break;}returny;}intzxgbs(intn1,intn2){inty,i;for(i=n1;i<=n1*n2;i++)if(i%n1==0&&i%n2==0){y=i;break;}returny;}main(){intn1,n2,t;scanf("n1=%dn2=%d",&n1,&n2);if(n1<n2){t=n1;n1=n2;n2=t;}printf("zdgys=%dzxgbs=%d",zdgys(n1,n2),zxgbs(n1,n2));}3、改錯題對的程序如下:#include<stdio.h>intfact(intn);intmulti(intn);main(){inti;doublesum,item,eps;eps=1E-6;sum=1;item=1;for(i=1;item>=eps;i++)?{item=fact(i)/multi(2*i+1);sum=sum+item;}printf(“PI=%0.5lf\n”,sum*2);return0;}intfact(intn){inti;intres=1;for(i=0;i<=n;i++)res=res*i;returnres;}intmulti(intn){inti;intres=1;for(i=3;i<=n;i=i+2)res=res*i;returnres;}六、調(diào)試和測試結(jié)果1、輸入:23輸出:s=82、輸入:n1=24n2=16輸出:zdgys=8zxgbs=482.3、輸出結(jié)果為:實驗六數(shù)組四、設(shè)計流程(算法描述)(請寫出上機(jī)內(nèi)容1的算法描述)設(shè)立兩個變量分別指示頭和尾。第一個和最后一個元素值互換,然后頭和尾變量向里移動,最終到兩變量相遇為止。五、程序清單1.編寫程序:從鍵盤輸入一串整數(shù)保存到數(shù)組中,調(diào)用函數(shù)antitone()將數(shù)組反序輸出。自定義函數(shù)voidantitone(inta[],intn)實現(xiàn)將數(shù)組中的n個數(shù)據(jù)按逆序存放。voidantitone(inta[],intn){?inti,j; intk; i=0;?j=n-1;? while(i<j) {??k=a[i]; ?a[i]=a[j];??a[j]=k;? i+=1;??j-=1;?}}2.已知某數(shù)列的前兩項為2和3,其后每一項為其前兩項之積。編程實現(xiàn):從鍵盤輸入一個整數(shù)x,判斷并輸出x最接近數(shù)列的第幾項?#include<stdio.h>#include<math.h>voidMad(inta[],intn){?inti;?a[0]=2; a[1]=3; for(i=2;i<n;i++) { ?a[i]=a[i-1]*a[i-2]; }}intmain(void){?inta[100],x,k1,k2;?inti;?Mad(a,100);//產(chǎn)生序列 printf("inputx:"); scanf("%d",&x);?i=0; for(;x>a[i];i++);?k1=abs(x-a[i-1]); k2=abs(x-a[i]);?if(k1>k2) ? printf("x最接近第%d項\n",i+1); else? printf("x最接近第%d項\n",i); return0;}3、源程序如下:#include<stdio.h>main(){?charc[15];?inti,word=0,num=0,space=0; for(i=0;i<=14;i++)??scanf("%c",&c[i]); for(i=0;i<=14;i++)?{ if(c[i]=='')space++; if(c[i]>='0'&&c[i]<='9')num++; ?if(c[i]>'a'&&c[i]<'z')word++;} printf("字符:%d數(shù)字:%d空格:%d\n",word,num,space);}六、調(diào)試和測試結(jié)果1、輸入:12345輸出:543212、輸入:110輸出:x最接近第6項3、輸入:sd234kj64jkmjk輸出:字符:9?數(shù)字:5 空格:1實驗七數(shù)組和函數(shù)綜合程序設(shè)計四、程序清單(請寫出上機(jī)內(nèi)容2、3中源程序)原程序求得的是下三角形,經(jīng)改善調(diào)試之后的程序為:#include<stdio.h>#defineN6main(){inti,j,sum=0;inta[N][N]={0};printf("input5×5data:\n");for(i=1;i<N;i++){printf("Inputthe%dlinedata:\n",i);for(j=1;j<N;j++)scanf("%d",&a[i][j]);}for(i=1;i<N;i++){for(j=1;j<N;j++)printf("%5d",a[i][j]);printf("\n");}?for(i=1;i<N;i++)for(j=N-1;j>=i;j--)sum=sum+a[i][j];printf("sum=%d\n",sum);}3、voidfun(inttt[M][N],intpp[N]){inti,j,max;for(j=0;j<N;j++){max=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]>max)max=tt[i][j];pp[j]=max;}}五、調(diào)試和測試結(jié)果(寫出上機(jī)內(nèi)容1中填空的內(nèi)容)1、(1)sum=0(2)t[i][i](3)1實驗八指針?biāo)摹⒊绦蚯鍐?請寫出上機(jī)內(nèi)容2中的函數(shù))求出每個位上的數(shù)字,然后放在千位上的數(shù)字乘以1000,放在百位上的數(shù)字乘以100,放在10位上的數(shù)字乘以10,然后相加。voidfun(inta,intb,long*c){inta10,a1,b10,b1;? a10=a/10;?a1=a%10; b10=b/10; b1=b%10; *c=a10*1000+b1*100+a1*10+b10;}五、調(diào)試和測試結(jié)果(請寫出上機(jī)內(nèi)容1的輸出結(jié)果)1(1)輸出結(jié)果為:8,7,7,8(2)6(3)(1)x=10y=20(2)x=20y=10(4)【1】int*p【2】&a[i]【3】p[i]輸入:123456輸出:123456實驗九指針、函數(shù)和數(shù)組綜合程序設(shè)計設(shè)計流程(算法描述)(請寫出上機(jī)內(nèi)容2中的算法描述)當(dāng)當(dāng)*(x+i)!=’\0i=0*(x+i)==yTreturn1i=i+1return0F五、程序清單1.已知一個整型數(shù)組a[5],其各元素值為4,6,8,10,12。使用指針編程求數(shù)組元素之積。#include<stdio.h>intmain(void){ inta[]={4,6,8,10,12},sum;?int*p;? sum=1;?for(p=a;p<a+5;p++) {? sum*=*p; } printf("%d\n",sum);?return0;}2.定義函數(shù)intf(char*x,chary)判斷x所指的字符串中是否包含字符y,若是則函數(shù)返回1,否則返回1。intf(char*x,chary){ char*p;? for(p=x;*p!='\0';p++) if(*p==y)??{???printf("%c\n",*p);? ?return1;? } return0;?}3.定義函數(shù)voidf(float(yī)x,int*y,float(yī)*z)將x的整數(shù)部分存于y所指的存儲單元,x的小數(shù)部分存于x所指的存儲單元。voidf(floatx,int*y,float*z){ *y=(int)x;*z=x-*y;}六、調(diào)試和測試結(jié)果測試結(jié)果對的實驗十結(jié)構(gòu)體四、程序清單(請寫出上機(jī)內(nèi)容1的源程序和上機(jī)內(nèi)容2中的函數(shù))1、上機(jī)內(nèi)容1的源程序#include<stdio.h>#include<string.h>#defineFORMAT"%0d\t%s\t%d\t%c\n"structstudent{intnum;charname[20];?intage;charsex;};main(){voidinput(structstudentstu[]);voidstat(structstudentstu[]);structstudentstu[4];?inti;input(stu);for(i=0;i<4;i++){printf(FORMAT,stu[i].num,stu[i].name,stu[i].age,stu[i].sex);?}stat(stu);}voidinput(structstudentstu[]){inti;for(i=0;i<4;i++){scanf("%d",&stu[i].num);getchar();scanf("%s",&stu[i].name);getchar();scanf("%d",&stu[i].age);getchar();scanf("%c",&stu[i].sex);getchar();}}voidstat(structstudentstu[]){inti,c=0,boy=0,girl=0;for(i=0;i<4;i++){if(stu[i].age<18)c+=1;?if(stu[i].sex=='m')boy++;?elsegirl++; }printf("boy\tgirl\tage<18\n");printf("%d\t%d\t%d\n",boy,girl,c);}2、voidfun(structSTREC*a){inti;a->ave=0;for(i=0;i<N;i++)?a->ave+=a->s[i];a->ave/=N;}3、改錯題對的的程序為:將printf("%5d%-20s%2c%4d\n",*p.num,*p.name,p.sex,p.age);改為:printf("%5d%-20s%2c%4d\n",p->.num,p->name,p->sex,p->age);實驗十一共用體、位運算和文獻(xiàn)四、程序清單(請寫出上機(jī)內(nèi)容2中的程序源代碼)求100以內(nèi)能同時被3和5整除的自然數(shù),分別將它們輸出到顯示器屏幕和x.txt文獻(xiàn)中。(2)用程序讀出上述x.txt文獻(xiàn)中的數(shù)據(jù),將它們輸出到屏幕,并求它們的和。#include<stdio.h>#include<string.h>#include<stdlib.h>intmain(void){ inti,sum;?FILE*fd;?chars[10],*p,ch;?if((fd=fopen("D:\\shi.txt","wt"))==NULL)?{? printf("creatthefilefailed\n");??exit(0); } else?{? for(i=1;i<100;i++) ?{ ? if((i%3==0)&&(i%5==0))? { ?printf("%d,",i);? itoa(i,s,10);?//轉(zhuǎn)換成字符串? ? ? ?fputs(s,fd); ?? fputc('',fd);? ?}??} printf("\n"); fclose(fd); }//提取字符轉(zhuǎn)換成數(shù)字輸入?if((fd=fopen("D:\\shi.txt","rt"))==NULL) { ?printf("openthefilefailed\n"); ?exit(0);?}?else {? p=s;? sum=0;??do ?{?? ch=fgetc(fd); ? if(ch=='') ? {??? i=atoi(s);?? ?sum+=i; ? ?printf("%d",i); ?? strset(s,'\0');????p=s;???} ? else?? { ? ?*p=ch; ? p++; ? } }while(ch!=EOF); printf("數(shù)的和是:%d\n",sum); ?fclose(fd); }?return0;}實驗十二參考答案實驗十二參考答案:(可根據(jù)情況,弄清楚一個模塊即可)題目:設(shè)某班有n位同學(xué),每位同學(xué)的數(shù)據(jù)涉及以下內(nèi)容:學(xué)號(長整型)、姓名(字符串)、數(shù)學(xué)成績(整型)、程序設(shè)計成績(整型)。設(shè)計程序完畢以下五項功能:新建數(shù)據(jù)檔案、添加數(shù)據(jù)、刪除數(shù)據(jù)、對輸入的數(shù)據(jù)進(jìn)行排序和查詢。注:輸入數(shù)據(jù)時,規(guī)定學(xué)號不能相同,姓名可以相同。設(shè)計思緒:1).程序運營時,一方面顯示主菜單(模塊)如下:1.程序運營時,一方面顯示主菜單如下:1.新建數(shù)據(jù)2.添加數(shù)據(jù)3.刪除數(shù)據(jù)4.排序5.查詢6.退出用戶輸入序號后,程序進(jìn)行相應(yīng)操作。2).在主菜單中選擇序號4,彈出子菜單選擇排序方式,子菜單如下:1.數(shù)學(xué)成績排序2.程序設(shè)計成績排序3.總分排序。4.返回主菜單選擇子菜單的序號后,程序能對的運營并在屏幕上顯示按規(guī)定排序后的相關(guān)信息。3.在主菜單中選擇序號5,彈出子菜單選擇查詢方式,子菜單如下:1.學(xué)號查詢2.姓名查詢3.?dāng)?shù)學(xué)成績查詢4.程序設(shè)計成績查詢5.總分查詢6.返回主菜單請按序號選擇相應(yīng)操作

在子菜單中選擇序號后,程序按以下方式工作。(1)學(xué)號查詢:輸入學(xué)號后,若該學(xué)號存在則顯示與其相關(guān)的所有信息,否則顯示找不到的提醒信息;(提醒:查詢到滿足條件的結(jié)果后,查詢即可結(jié)束)(2)姓名查詢:輸入姓名后,若該姓名存在則顯示與其相關(guān)的所有信息,否則顯示找不到的提醒信息;(提醒:使用字符串比較函數(shù)進(jìn)行比較)(3)按科目查詢:輸入指定分?jǐn)?shù),程序運營后顯示該科目中考試成績大于等于指定分?jǐn)?shù)的同學(xué)的學(xué)號、姓名以及該科成績并記錄滿足條件的人數(shù);(4)總分查詢:輸入指定分?jǐn)?shù),程序運營后顯示總提成績大于等于指定分?jǐn)?shù)的同學(xué)的學(xué)號、姓名以及各科成績并記錄滿足條件的人數(shù)。C源程序清單如下:#include"stdio.h"#include"stdlib.h"#include"string.h"#include"conio.h"#include"mem.h"#include"ctype.h"#include"alloc.h"#defineN2typedefstructz1{charno[11];charname[15];intscore[N];floatsum;floataverage;intorder;structz1*next;}STUDENT;/*Functions*/STUDENT*init();/*initialize*/STUDENT*create();STUDENT*delete(STUDENT*h);STUDENT*searchno(STUDENT*h);voidprint(STUDENT*h);voidsearch(STUDENT*h);voidsave(STUDENT*h);STUDENT*load();STUDENT*insert(STUDENT*h);STUDENT*sort(STUDENT*h);STUDENT*index(STUDENT*h);intmenu_select();/*menu*//******main*******/main(){inti;STUDENT*head;head=init();clrscr();for(;;){switch(menu_select()){case1:head=init();break;case2:head=create();break;case3:head=delete(head);break;case4:print(head);break;case5:search(head);break;case6:head=searchno(head);break;case7:save(head);break;case8:head=load();break;case9:head=insert(head);break;case10:head=sort(head);break;case11:case12:case13:head=index(head);break;case0:exit(0);}}}menu_select(){char*menu[]={"***************MENU***************","1.Initlist","2.Enterlist","3.Deletearecordfromlist","4.printlist","5.Searchrecordbyname","6.SearchrecordbyNumber","7.Savethefile","8.Loadthefile","9.insertrecordtolist","10.sortbytotalscores","11.sortbymathsscores","12.sortbyprogramscores","13.indexonnumber","0.Quit"};chars[3];intc,i;gotoxy(1,25);printf("pressanykeycontinue......\n");getch();clrscr();gotoxy(1,1);textcolor(YELLOW);textbackground(BLACK);gotoxy(10,2);putch(0xc9);for(i=1;i<44;i++)putch(0xcd);putch(0xbb);for(i=3;i<20;i++){gotoxy(10,i);putch(0xba);gotoxy(54,i);putch(0xba);}gotoxy(10,20);putch(0xc8);for(i=1;i<44;i++)putch(0xcd);putch(0xbc);window(11,3,53,19);clrscr();for(i=0;i<16;i++){gotoxy(10,i+1);cprintf("%s",menu[i]);}textbackground(BLACK);window(1,1,80,25);gotoxy(10,21);do{printf("\nEnteryouchoice(0~13):");scanf("%s",s);c=atoi(s);}while(c<0||c>14);returnc;}STUDENT*init(){returnNULL;}STUDENT*create(){inti;ints;STUDENT*h=NULL,*info;for(;;){info=(STUDENT*)malloc(sizeof(STUDENT));if(!info){printf("\noutofmemory");returnNULL;}inputs("enterno:(10digitals.enter0toexit)",info->no,11);if(info->no[0]=='0')break;/*whenthefirstnumberis0,break*/inputs("entername:(<15letters)",info->name,15);printf("pleaseinputscores\n");s=0;/*sissum,beginswith0*/for(i=0;i<N;I++){do{if(i==0)printf("PleaseinputMat(yī)hsscores:");if(i==1)printf("Pl(wèi)easeinputProgramscores:");scanf("%d",&info->score[i]);/*socre[0]storesmathsscores,socore[1]storesprogramscores*/if(info->score[i]>100||info->score[i]<0)printf("baddata,repeatinput\n");}while(info->score[i]>100||info->score[i]<0);s=s+info->score[i];}info->sum=s;info->order=0;info->next=h;h=info;}return(h);}inputs(char*prompt,char*s,intcount){charp[255];do{printf(prompt);scanf("%s",p);if(strlen(p)>count)printf("\ntoolong!\n");}while(strlen(p)>count);strcpy(s,p);}/*Printinfor*/voidprint(STUDENT*h){inti=0;STUDENT*p;clrscr();p=h;printf("\n\n\n*******************************STUDENT**********************\n");printf("|rec|NO.|name|mat(yī)hs|program|sum|order|\n");printf("|---|----------|---------------|-------|---------|------|-----|\n");while(p!=NULL){i++;printf("|%3d|%-10s|%-15s|%7d|%9d|%4.2f|%3d|\n",i,p->no,p->name,p->score[0],p->score[1],p->sum,p->order);p=p->next;}printf("**********************************end***************************\n");}STUDENT*delete(STUDENT*h){STUDENT*p,*q;chars[11];clrscr();printf("pleaseenterthenumberyouwanttodelete\n");scanf("%s",s);q=p=h;while(strcmp(p->no,s)&&p!=NULL){q=p;p=p->next;}if(p==NULL)printf("\nlistno%sstudent\n",s);else{printf("\n\n\n******************************STUDENT**********************\n");printf("|NO.|name|maths|program|sum|order|\n");printf("|----------|---------------|-------|---------|------|-----|\n");printf("|%-10s|%-15s|%7d|%9d|%4.2f|%3d|\n",p->no,p->name,p->score[0],p->score[1],p->sum,p->order);printf("********************************end*****************************\n");getch();if(p==h)h=p->next;elseq->next=p->next;free(p);printf("\nhavedeletedNo%sstudent\n",s);}return(h);}STUDENT*searchno(STUDENT*h){STUDENT*p,*q;chars[11];clrscr();printf("pleaseenterthenumberyouwanttosearch\n");scanf("%s",s);q=p=h;while(strcmp(p->no,s)&&p!=NULL){q=p;p=p->next;}if(p==NULL)printf("\n%sNoFound!\n",s);else{printf("\n%sFound!\n",s);printf("\n\n\n****************************STUDENT************************\n");printf("|NO.|name|maths|program|sum|order|\n");printf("|----------|---------------|-------|---------|------|-----|\n");printf("|%-10s|%-15s|%7d|%9d|%4.2f|%3d|\n",p->no,p->name,p->score[0],p->score[1],p->sum,p->order);printf("********************************end*****************************\n");getch();}return(h);}voidsearch(STUDENT*h){STUDENT*p;chars[15];clrscr();printf("pleaseenternameforsearch\n");scanf("%s",s);p=h;while(strcmp(p->name,s)&&p!=NULL)p=p->next;if(p==NULL)printf("\n%sNoFound!\n",s);else{printf("\n%sFound!\n",s);printf("\n\n\n****************************STUDENT**********************\n");printf("|NO.|name|maths|program|sum|order|\n");printf("|----------|---------------|-------|---------|------|-----|\n");printf("|%-10s|%-15s|%7d|%9d|%4.2f|%3d|\n",p->no,p->name,p->score[0],p->score[1],p->sum,p->order);printf("********************************end*****************************\n");}}STUDENT*insert(STUDENT*h){STUDENT*p,*q,*info;chars[11];ints1,i;printf("pleaseentertheNo.whichthisrecordwillbelocatedbefore\n");scanf("%s",s);printf("\npleasenewrecord\n");info=(STUDENT*)malloc(sizeof(STUDENT));if(!info){printf("\noutofmemory");returnNULL;}inputs("enterno:(10digitals)",info->no,11);inputs("entername:(<15letters)",info->name,15);printf("pleaseinputscores\n");s1=0;for(i=0;i<N;I++){do{if(i==0)printf("PleaseinputMat(yī)hsscores:");if(i==1)printf("PleaseinputProgramscores:");scanf("%d",&info->score[i]);if(info->score[i]>100||info->score[i]<0)printf("baddata,repeatinput\n");}while(info->score[i]>100||info->score[i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論