还剩49页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《C语言程序设计》实验指导书1-8【实验目的】掌握C语言中,基本的输入、输出函数的使用方法掌握printf函数中转义字符”\t”、”\n”的用法掌握赋值语句的用法掌握算术表达式、赋值表达式的计算掌握数学函数的使用【实验内容】
1.[目的]掌握整型、浮点型变量的定义与使用,掌握算术表达式的运算,掌握整型数、浮点型数的输入、输出方法[题目内容]编写一个程序,其功能为从键盘输入三个整数,计算这三个整数的和、平均值,并输出计算结果[输入]三个整型数[输出]上述三个整型数的和、平均值[提示]三个整型数使用%€1格式输入输出,和值使用整型变量、平均值使用浮点型变量,注意运算符与数据类型的关系[实验步骤]#includestdio.hvoidmainintabc;intsum;floatave;//doubleave;printfn请输入三个整型数\n,scanfH%d%d%dHabc;sum=a+b+c;ave=sum/
3.0;printfHa=%db=%dc=%d\rTabc;printfnsum=%dave=%f\nnsumave;运行结果:卖/指导书CDebug请输入三个整*至345丑=3b=4c=5snm=l_2eiMe=
4.000000Pi*essetnykesrtzocontzini_ie
2.[目的]掌握符号常量的定义与使用,掌握浮点数输出保留小数的格式控制方法[题目内容]编写一个程序,其功能为从键盘输入圆的半径输出计算结果(保留两位小数)[输入]圆的半径值[输出]圆的面积值[提示]在计算圆面积时使用的圆周率兀是一个常数,使用c语言中的符号常量表示该常量,取值为
3.1415926[实验步骤]#includestdio.h”#definePI
3.1415926voidmain{floatrarea;//doublerarea;printfn请输入圆的半径:\nn;scanfH%f\r;area=PI*r*r;printfHr=%farea=%
10.2f\nrarea;}运行结果司D:\2008\^指导书C\Debug\jyp.请输入圆的半径:10r=
10.000000area=
314.16Pressanykeytocontinue—
3.[目的]掌握字符型变量的定义与使用,掌握大小写字母转换的算法[题目内容]编写一个程序,其功能为从键盘输入一个大写字母,将其转换为对应的小写字母,并输出[输入]一个大写字母[输出]对应的小写字母[提示]大小写字母的ASCII码值相差32O使用%c格式输入输出字符变量[实验步骤]#includestdio.hvoidmaincharchlch2;printfH请输入一个大写字母\nn;scanf”%c”chl;ch2=chl+32;printfnch1=%cch2=%c\n”chlch2;}运行结果莒八2008\实验指导书CDebug请输入一Gchl=Gch2=gPvess/nykeytoconf;inueB
4、[目的]掌握标准数学函数使用[题目内容]编写一个程序,其功能为从键盘输入一元二次方程ax2+bx+c=0的各项系数a、b、c的值其值要保证方程一定有两个不同的实数解,根据公式计算方程的两个实数解,并输出结果保留两位小数[输入]一元二次方程ax2+bx+c=0的各项系数a、b、c[输出]方程的两个不同的实数解[提示]包含标准数学函数头文件,使用标准数学函数sqrtx实现开平方计算,结果使用双精度浮点数表示,%lf格式[实验步骤]#includestdio.h”#includemath.h”voidmainfloatabc;doublexlx2;printfn请输入二次方程的系数abc\nn;scanfH%f%f%f\abc;x1=-b+sqrtb*b-4*a*c/2*a;x2=-b-sqrtb*b-4*a*c/2*a;printfna=%fb=%fc=%f\nnabc;printfnx1=%
10.21fx2=%
10.21i\nHxlx2;运行结果:1-2-3a=l.000000b=-
2.000000c=-
3.000000xl=
3.00x2=-
1.00Pressanykeytocontinue应*D:\2008\实验指导书C\Debug\jyp.exe*请输入二次方程156a=l.000000b=
5.000000c=
6.000000xl=-
2.00x2=-
3.00Pressanykeytocontinue实验2选择运算与判断选取控制【实验目的】掌握关系表达式和逻辑表达式的使用熟悉选择结构程序设计熟练使用if语句进行程序设计使用switch语句实现多分支选择结构【实验内容】
1、[目的]掌握条件表达式的使用[题目内容]编写一个程序,其功能为从键盘输入三个数x、y、z判断x+y=z是否成立,若成立输出“x+y=z”的信息,否则输出“x+y!二z”的信息[输入]三个数x、y、z[输出]“x+y=z或x+y!=z”[提示]条件判断表达式x+y==z#includestdio.hvoidmain{floatxyz;printf”请输入xyz\nn;scanf”%f%f%仁xyz;ifx+y=zprintfnx+y=z\nH;elseprintfnx+y!=z\nH;}运行结果c八2008\实验指导书C\Debug\jyp.exe1^WAxyz448x+y=zPressanykeytocontinue—c\D:\2008\实套指导书C\Debug\jyp・exei村轴入334=zPressanykeytocontinue—
2、[目的]掌握求最大值最小值的方法[题目内容]编写一个程序,其功能为输入三个整数,输出最大数和最小数[输入]三个整数[输出]最大值和最小值[提示]设置最大值变量max和最小值变量min;首先比较ab的大小,并把大数存入max小数存入min;然后最大值变量max和最小值变量min再与c比较,若c大于max则max取值c否则保持不变;如果c小于min则min取值c否则保持不变最后输出max和min的值使用if...else…语句、if语句以及复合语句#includestdio.h”voidmain{intabcmaxmin;printf”请输入三个整数abc\nn;scanf”%d%d%d”abc;printfn三个整数为:\nn;printfa=%db=%dc=%d\n”abc;ifabmax=a;min=b;elsemax=b;min=a;}ifcmaxmax二c;ifcminmin=c;printfmax=%dmin=%d\n\maxmin;}运行结果c\・D:\2008\实验指导书C\Debug\jyp.exe请输233412三个整数为a=23b=34c=12nax=34min=12Pressanykeytocontinue
3、[目的]掌握分段函数的计算[题目内容]编写一个程序,计算下列函数:XX1y=y2x-liWxvlO3x-llXN1O[输入]x值[输出]y值[提示]根据输入的x值的取值,计算y的值并输出使用if...elseif语句以及复合语句#includestdio.h”voidmain{floatxy;printf”请输入x\nH;scanfn%f\x;printf”输入x=%f\n”x;ifxl{y=x;printfny=%f\n\y;}elseifx〉=lxvlOy=2*x-l;printf”y=%My;elsey=3*x-ll;printf”y=%f\n”y;运行结果:c\*D:\2008\实验指导书C\Debug\jyp.exe=请输入一6输入x=-
6.000000y=-
6.000000Pressanykeytocontinue—3输入x=
3.000000g=
5.000000Pressanykeytocontinuec\•D:\2008\实验指导书C\Debug\jyp.exe*情输入x11腌入X=
11.000000^=
22.000000LPressanykeytocontinue.实验3循环结构程序设计【实验目的】熟练掌握三种循环语句的应用熟练掌握循环结构的嵌套掌握break和continue语句的使用练习调试与修改程序掌握一组数据求和、求平均值、求最大值最小值的计算方法掌握循环次数已知、未知的处理方法(精度的控制、结束标志的使用等)掌握简单图形的打印输出处理【实验内容】
1、[目的]掌握循环次数已知的循环控制处理方法72=100[题目内容]编写一个程序,其功能为计算并输出Sx2o〃=1[输入]键盘输入X值[输出]计算结果[提示]使用三种循环语句均可#includestdio.h”voidmainintnxsum=0;printf*请输入x;scanf%dx;forn=1;nv=100;n++sum=sum+x*x;printfnsum=%d\nnsum;}运行结果c\C:DocumentsandSettings\Adinistrator\Del传输入X2pun=400Pressanykeytocontinue
2、[目的]掌握循环次数未知的循环控制处理方法[题目内容]编写一个程序,其功能为计算一批货物的总值,输入货物单价和数量事先不知道需要统计的货物有多少种[输入]货物单价和数量[输出]货物的总值[提示]使用while循环语句或do...while语句,设计一个特殊值作为循环结束的标志,例如,单价值为零#includestdio.h”voidmaindoublepricenumsum=0;printf”请输入货物单价和数量,scanfn%lf%lf\pricenum;whileprice!=Osum=sum+price*num;printfn请输入货物单价和数量”;scanfn%lf%lf\pricenum;}printfnsum=%lf\nnsum;}运行结果c■C:\DocuMentsandSettings\Adinistrator\Debug\
1.dPressanykeytocontinue
3、[目的]掌握递推法的处理方法[题目内容]求和值Sn=a+aa+aaa++aaaa…aan位如n=5a=3,则是求S5=3+33+333+3333+33333编写程序对于任意输入的a和!1求Sn[输入]a和n[输出]Sn[提示]使用for循环语句以及递推算法可设定一个变量mm的初值为a将m的值加到初值为0的变量S中;下一个要加的值可如下计算m=m*10+a共加n次#includestdio.hvoidmain{intanJ;longtermsum;printf”请输入an:”;scanf‘‘%d%d”an;term二a;sum=a;fori=2;i=n;i=i+1term二term*10+a;sum=sum+term;printfnsum=%ld\nn9sum;}运行结果:二:\DocuentsandSettings\Adinistrator\sun=2468rressanykeytocontinue
4、[目的]掌握穷举法的处理方法[题目内容]编写一个程序,判断一个整数是否素数[输入]无『输是否素教的信自[提示]使用for循环语冒以及穷举算法利用素数的定义#includeHstdio.hnvoidmain{intxi;printf”请输入一个整数,scanf”%dx;fori=2;ix;i++ifx%i==0printfH\n%d不是素数\n”x;break;ifi=xprintfH\n%d是素数\n”x;运行结果cC:\DocuentsandSettings\Adinistrator\Debu6不是素数Pressanykeytocontinue
5、[目的]运用已学知识解决实际问题[题目内容]某物品的现值通常称为帐面价格由以下等式给出P=Cl-dn其中c=原始价值,€1=年折旧率n=已使用年限P=经过y年后的现值如果把P看作是该物品经使用年限后的报废价值,编写一个程序,给定原始价值、折旧率、报废价值,计算出可使用的年限[输入]原始价值、折旧率、报废价值[输出]可使用的年限[提示]使用for循环语句、break语句#includestdio.h#includemath.hvoidmaindoublecdppl;intn;printf”请输入原始价值、折旧率、报废价值,scanf”%lf%lf%lFcdp;pl=c;forn=0;n=l00000;n++pl=pl*l・d;ifpplbreak;}printf”可使用年限是:%d\n\n-l;}运行结果藤彝嬲值34折旧率、报废价值即血知Pressanykeytocontinue—实验4一维数组、二维数组、字符数组程序设计【实验目的】掌握二维数组的定义和初始化掌握二维数组元素的引用及其应用掌握字符数组的定义和初始化掌握字符数组元素的引用及其应用【实验内容】
1、[目的]掌握一维数组的定义、引用方法[题目内容]设一歌唱评奖晚会上有10个评委,编写一程序,依次输入1个评委的分数,去掉2个最高分,2个最低分,计算余下的分数平均值作为歌手的最后得分[输入]1个分数[输出]处理后的最后得分[提示]利用二重for循环结构与printfo#includestdio.hvoidmaininta[l1];intijmintempsum;floataverage;printfninput10stores:\nH;fori=l;il1;i++scanfH%dHa[i];printfM\nM;fori=l;iv=9;i++min=i;forj=i+l;j=10;j++ifa[min]a[j]min=j;temp=a|i|;a[i]=a[min];a[min]=temp;}fdrsum=0i=3;i=8;i++sum=sum4-a[i];average=sum/
6.0;printfnThestoreis:%f\average;getch;}运行结果
2、[目的]掌握二维数组的输入、输出方法[题目内容]已知有一个3行2列的二维数组897667985478编程序,从键盘输入数据存储在二维数组中,并以3行2列的形式输出[输入]897667985478[输出]897667985478[提示]利用二重for循环结构与scanf、printf及%4《格式输出#includestdio.hvoidmaininta
[3]
[2];intij;printf”请输入3行2列二维数组\n”;fori=0;i3;i++forj=0;j2;j++scanf”%d”a[i][j];fori=0;i3;i++forj=0;jv2;j++printfn%4d\a[i][j];printfn\nH;}运行结果
3、[目的]运用所学知识解决实际问题[题目内容]设某班有20个学生,每个学生选修了三门课,编写程序,输入20个学生三门课的成绩,计算每个学生的平均成绩,最后输出每个学生三门课的成绩及平均成绩[输入]20个学生三门课的成绩[输出]每个学生三门课的成绩及平均成绩[提示]建立一个20X4的二维数组#includestdio.hvoidmaininta
[20]
[4];intij;printf”请输入20*3数组\nH;fori=0;i20;i++forj=0;jv3;j++scanfH%dHa[i][j];printfC源数组:\nn;fori=0;i20;i++forj=0;jv3;j++printfn%4d\a[i][j];printfH\nH;fori=0;i20;i++a[i]
[3]=0;forj=0;j3;j++a[i]
[3]=a[i]
[3]+a[i][j];}printf”所求数组:\nn;fori=0;i20;i++forj=0;j4;j++printf”%4d”a[i]];printfH\nH;}}【实验目的】1掌握函数的定义和调用方法2掌握函数实参与形参的对应关系,以及“值传递的方式,函数值的正确返回3学会全局变量和局部变量、动态变量和静态变量的概念和使用方法【实验内容】
1.[目的]掌握标准库函数的说明和调用方法[题目内容]编写一个程序,首先显示一个菜单,然后根据用户的选择,输入数据后,执行相应的操作[输入]用户选择和函数自变量值[输出]如下菜单=======menu======1•oooooooooooS1H
3.OOOOOOOOOOOpOW[提示]使用标准库函数、多分支选择结构[实验步骤]#includestdio.h#includemath.hvoidmain{intchoicen;doublexz;printf”\t\t======MENU======\n”;printfH\t\t1sin\nH;printfn\t\t2cos\nn;printfn\t\t3pow\nn;printfn\t\t4sqrt\nn;printfn\t\t0exit\nn;printff\n\n请输入您的选择0---4”;scanf”%d”choice;switchchoicecase1:{printf”请输入自变量x值角度”;scanfn%lf\x;x=x*
3.14/180;z=sinx;printfn%lf的sin值为:%lf\xz;break;}case2:{printf”请输入自变量x值角度”;scanf”%lfx;x=x*
3.14/180;z=cosx;printfH%lf的cos值为:%lf\xz;break;case3:printf”请输入自变量x值、n值;scanf”%lf%d”xn;z=powxn;printf”%lf、%d的pow值为:%lFxnz;break;}case4:{printf”请输入自变量x值,scanfH%lf\x;ifx=0z=sqrtx;printfH%lf的sqrt值为:%l「xz;elseprintf”无解”;break;}case0:break;default:printfM输入有误”;}printfH\nH;
2.[目的]掌握用户自定义函数的定义、函数的说明和调用方法[题目内容]编写一个用户自定义函数,该函数有一个整型参数,函数的功能是:当这个整型数的值是偶数时,函数的返回值为0当这个整型数的值是奇数时返回值为1编写一个程序,从键盘输入任意10个整数,分别调用用户自定义函数来判断这10个整数的奇偶性[输入]任意10个整数[输出]这10个整数的奇偶性[提示]在主函数中使用循环结构输入10个整数根据子函数的返回值输出相应的判断结果信息[实验步骤]#includestdio.hvoidmain{intix;intjointn;printf”请输入10个整数,fori=0;i10;i++scanf%d”x;ifjox=0printfn%d是偶数\n”x;elseprintfH%d是奇数\n”x;}}intjointnifn%2==0return0;elsereturn1;}
3.[目的]掌握用户自定义函数的定义、函数的说明和调用方法[题目内容]编写一个用户自定义函数,该函数有三个整数参数,函数的功能是:求解这三个整数的最大值,函数的返回值为三个参数的最大值编写一个程序,从键盘输入任意5个整数,分别两次调用用户自定义函数来求出这5个整数中的最大值[输入]任意5个整数[输出]这5个整数的最大值[提示]先用前三个整数调用函数,求出的最大值作为参数之一,再与另两个整数一起求出最大值即为所求[实验步骤]#includestdio-hvoidmain{intmaxxlx2x3x4x5;intfmaxintaintbintc;printf”请输入5个整数,scanf%d%d%d%d%dx1x2x3x4x5;max=fmaxx1x2x3;max=fmaxmaxx4x5;printfn%d%d%d%d%d的最大值二%d”xlx2x3x4x5max;}intfmaxintaintbintc{intd;d=a;ifbdd=b;ifcdd=c;returnd;
4.[目的]掌握用户自定义函数的定义、函数的说明和调用方法[题目内容]编写一个用户自定义函数,该函数有2个数值参数x、n函数的功能是求解xL函数的返回值为x的n次方的值编写一个程序,调用用户自定义函数来求解53+48的值[输入]无[输出]53+48的值[提示][实验步骤]#includestdio.hvoidmainintfunintxintn;printfn所求=%d\n”fun53+fun48;}intfunintxintn{intip=l;fori=l;i=n;i++p=p*x;returnp;}
5.[目的]掌握用户自定义函数的定义、函数的说明和调用方法[题目内容]编写一个用户自定义函数,该函数有一个整数参数,函数的功能是:判断这个整数是否素数,函数的返回值为判断结果编写一个程序,从键盘输入任意1个整数,调用用户自定义函数来判断这个整数是否素数[输入]任意1个整数[输出]是否素数的信息[提示]函数的返回值可以一个标志变量表示,例如,flag=l表示是素数;flag=0表示不是素数主函数根据返回值的情况输出相应信息[实验步骤]#includestdio.hvoidmainintfunintx;intn;printf”请输入一个整数,scanf”%d”n;iffunn=lprintfn%d是素数\rTn;elseprintfn%d不是素数\n”n;}intfunintxintiflag=l;fori=2;ix;i++ifx%i==0{flag=0;break;}returnflag;}实验6指针变量程序设计【实验目的】掌握指针的概念、会定义和使用指针变量掌握指针与一维数组、二维数组、字符数组的关系【实验内容】
1、[目的]掌握指针在一维数组、二维数组中的应用[题目内容]输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换写3个函数
①输入10个数;
②进行处理;
③输出10个数[输入]任意输入10个整数[输出]输出按要求处理之后的十个整数[提示]用指向数组元素的指针变量作函数实参
1.输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换写3个函数
①输入10个数;
②进行处理;
③输出10个数[实验步骤]#includestdio.hvoidhachiint*pintninti;fori=0;in;i++scanf”%d”*p+i;}voidnagaint*pintninti*x*y;x=y=p;fori=l;in;i++{if*xv*p+ix=p+i;if*y*p+iy=p+i;i=*y;*y=*p;*p=i;i=*x;*x=*p+n-l;*p+n-l=i;}voidseshoint*pintninti;fori=0;in;i++printfn%d”*p+i;}voidmain{inta[10];printf”请用空格分隔输入的数字\n”;hachia10;nagaa10;seshoa10;printf侦;}运行结果1=B1F:\O\Debug\Cppl.exeM2040501060308090705510405020603080557090Pressanykeytocontinue.
2、[目的]掌握指针在字符数组中的应用[题目内容]有一个字符串,包含n个字符写一函数,将此字符中从第m个字符开始的全部字符复制成为另一个字符串[输入]输入1个字符串[输出]输出按要求处理之后的字符串[提示]用指向字符数组元素的指针变量作函数实参[实验步*#includestdio.hvoidmain{voidpluschark[]charp[]intx;charal[]=Theweblostsummer.netisdown!”;chara2
[50]*b=al*c=a2;intmn;scanfn%d%dnm;plusbcm;printf”被复制的内容为[%目对切;}voidpluschark[]charp[]intxinti=0;whilek[i]!=\O{p[i]=k[i+x];i++;}}运行结果c*E:\Debug\Cppl.exe被复制的内:容为[ehlostsunmer.netisdown]uo■■Lra■■Ilnccc
3、[题目内容]有一个班3个学生,4门课程
①求第一门课程的平均分;
②找出有2门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;
③找出平均成绩在90分以上或全部课程成绩在85分以上的学生分别编3个函数实现以上3个要求[输入]每个学生的4门课的成绩是给定的[输出]按要求输出结果[实验步骤]#includestdio.hvoideinsfloat*p
[4]intn{inti;floatdsum=0;fori=0;i3;i++sum=sum+p[i][O];d=sum/3;printf”第一门平均分%
5.inn”d;}voidzweifloat*point
[4]intnintijk;forj=0;jn;j++k=0;fori=0;i4;i++if**point+j+iv60k=k+1;ifk2{printf”第%d个人有2门没及格,各科分数为”j+1;fori=0;i4;i++printf%
5.lf”**point+j+i;printf侦;}}}voiddreilfloat*p[4]intn{intijk;forj=0;jn;j++{k=0;fori=0;iv4;i++{if**p+j+i85**p+j+i+l85**p+j+i+285**p+j+i+3〉85k=l;elseif**p+j+i+**p+j+i+l+**p+j+i+2+**p+j+i+3〉36Ok=2;}ifk=l||k=2{printf”第%d个人平均成绩过90或每门过85分,分数为”j+1;fori=0;i4;i++printf”%
6.lF**p+j+i;printf侦;}}}voidmain{floata[3][4]={{999999100}{10010010059}{595959100}};einsa3;zweia3;dreila3;}运行结果=MF:\O\Debug\H一门平均分
86.0悝3人人直2门没及格.各科分数为
59.
059.
059.
0100.0第1人人苹均成绩过90或每门过85分分数为
99.
099.
099.
0100.0Pi*essanukeutocontinne_
4、[题目内容]输入长度为10的整形数组按由小到大的顺序输出[输入]输入10个整数[输出]由小到大的顺序输出10个整数[实验步骤]#includestdio.hvoidmisuzuint*pintn{intijt;forj=0;j9;j++fori=0;i9-j;i++if*p+i*p+i+lt=*p+i;*p+i=*p+i+1;*p+i+l=t;}fori=0;i10;i++printfn%d”*p+i;}voidmaininta
[10]i;fori=0;i10;i++scanf”%d”a[i];misuzua10;}运行结果lcBBF:\O\Debug\Cppl.exeIB98746523123[1234S678923Pressanyk实验7基于数组和函数的成绩计算【实验目的】通过该实验把C语言中的几个主要知识(如顺序结构、选择结构、构、数组、函数等)得到综合应用【实验内容】程序A用于统计各科的最低成绩fA用于统计各科的最高成绩fA用于计算各科成绩平均数函数abc的流程图:▼结束Main函数的流程图:函数fun的流程图:开始输入五个数组调用abc函数调用def函数调用ftin函数计算各个同学的平均成绩结束[实验步骤]#includestdio.h#includeconio.hintabcinta[]intm=a[O]i;fori=l;i4;i++ifma[i]m=a[i];returnm;}intdefinta[]intn=a[O]i;fbri=l;i4;i++ifna[i]n=a[i];returnn;}intfuninta[]intis=Oave;fori=0;i4;i++s+=a[i];ave=s/4;returnave;}voidmainintiyw
[4]sx
[4]yy
[4]wl
[4]c⑷b0blb2b3;b0=lbl=2b2=3b3=4;printf”请依次输入1-4号的语文成绩:\rT;fori=0;i4;i++scanf”%d”yw[i];printff请依次输入1-4号的数学成绩:\n”;fori=0;i4;i++scanfH%dHsx[i];printf”请依次输入1-4号的英语成绩:\n”;fori=0;i4;i++scanf%dyy[i];printf”请依次输入1・4号的物理成绩:\n”;fori=0;i4;i++scanf”%d”wl[i];fori=0;i4;i++c[i]=yw[i]+sx[i]+yy[i]+wl[i]/4;printfn\nn;printf”学号语文数学英语物理平均分\n,printf”%8d%8d%8d%8d%8d%8d\n”b0yw
[0]sx
[0]yy
[0]wl
[0]c
[0];printf”%8d%8d%8d%8d%8d%8d\n”blyw[l]sx[l]yy[l]wl[l]c[l];printf”%8d%8d%8d%8d%8d%8d\n”b2yw
[2]sx⑵yy
[2]wl
[2]c
[2];printf”%8d%8d%8d%8d%8d%8d\n”b3yw
[3]sx
[3]yy
[3]wl
[3]c
[3];printfn平均分%8d%8d%8d%8d\n”funywfunsxfunyyfunwl;printfn\nn;printf”各科最低成绩分析:\n”;printfM语文最低成绩=%d\n”abcyw;printfn数学最低成绩=%d\nnabcsx;printf”英语最低成绩=%d\n二abcyy;printfn物理最低成绩=%d\nnabcwl;printf”各科最高成绩分析:\n,printfn语文最高成绩=%d\n”defyw;printfn数学最高成绩=%d\nndefsx;printf”英语最高成绩=%d\nHdefyy;printfM物理最高成绩=%d\nndefwl;getch;}运行结果布F八实验\Debug\sy
2.exe请依次输入—4号的语文成绩:6879854请依次输入「4号的数学成绩:88985769请依次输入-4号的英语成绩:99867788请依次输入1-4号的物理成绩:9086实验8小型学生信息管理系统【实验目的】本实验为学生提供了一个既动手又动脑,上机实践的机会学生通过分析和解决该实验将课本上的理论知识和实际有机地结合起来,锻炼学生分析、解决较复杂问题的能力,提高学生编写综合系统程序的能力【实验内容】编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息系统功能模块如下图具体要求为建立学生信息,每个学生的信息应包括学号、姓名、性别、班级、至少3门课程的成绩;数据输入输入学生的各项信息;数据修改根据输入学生的学号可以选择修改该学生的信息;数据处理可以选择处理方式为排序、查询、统计其中a)排序按学号排序b)查询根据学号查询成绩c)统计可以选择统计各学生的平均成绩或统计所有存在不及格科目的学生;数据输出输出学生的相应结果信息;【程序组织结构图、函数调用关系图】main:程序的总体控制ifchoice==l输入数据ifchoice==2修改数据ifchoice==3处理数据switchchoice数据处理项目的选择;统计平均分、统计不合格学生ifchoice==4:输出数据ifchoice==4:退出系统[实验步老#includestdio.hintsum=0;structstudentintnum;charname
[10];charsex[l];intclasses;floatfenshul;floatfenshu2;floatfenshu3;}stu
[50];structstudenttemp;voidmaininta=lchoice;do.a厂/ffr、printf(n请选择具体的统计内容<1〜5〉:”);scanf%dchoice;ifchoice!=lchoice!=2choice!=3choice!=4choice!=5printf“输入错误\n”;ifchoice=5printf”谢谢使用\nH;break;elseswitchchoicecase1:inta;fora=0;av50;a++{printf”请输入第%€1学生的学号v输入结束:”a+l;scanf%dHstu[a].num;ifstu[a].num=Obreak;printf”请输入第%1学生的姓名二a+1;scanf%sHstu[a].name;printfC1请输入第%€1学生的性别二a+1;scanf%snstu[a].sex;printf”请输入第%€1学生的班级二a+1;scanf”%d”stu[a].classes;printf”请输入第%€1学生的语文成绩二a+1;scanfn%f\stu[a].fenshu1;printff请输入第%d学生的数学成绩二a+1;scanf%f\stu[a].fenshu2;printf”请输入第%1学生的英语成绩:”a+1;scanfH%f\stu[a].fenshu3;sum=a+l;}printfn\nn;break;case2:intanumberlnumber2number3=0flag=0;printfn请输入需要修改信息的学生的学号:,scanf%dnumber1;printfH\nn;fora=0;asum;a++ifnumberl==stu[a].numnumber3++;printfH——〜〜〜〜〜〜〜〜〜—〜〜\n“;printffl.学号
2.姓名
3.性别
4.班级\n”;printfn
5.语文成绩
6.数学成绩
7.英语成绩
8.退出修改W;printfH请选择需要进行的操作vl〜8:;scanfH%dHnumber2;switchnumber2case1:printfH请输入该学生的新学号,scanfn%dnstu[a].num;break;case2:printfC请输入该学生的新姓名:,scanfn%snstu[a].name;break;case3:printf”请输入该学生的新性别scanfn%s\stu[a].sex;break;case4:printfn请输入该学生的新班级,scanfn%dnstu[a].classes;break;case5:printfn请输入该学生的新语文成绩,scanfn%fstu[a].fenshul;break;case6:printfn请输入该学生的新数学成绩:,scanfn%f\stu[a].fenshu2;break;case7:printf”请输入该学生的新英语成绩,scanfn%fstu[a].fenshu3;break;case8:break;}printf侦;printf”修改后该学生的信息为:\n”;printf”学号姓名性别班级语printfH\nn;printfn%-9d%-10s%-9s%-9d%-
9.1f%-
9.1f%-
9.1f\nstu[a].numstu[a].namestu[a].sexstu[a].classesstu|a|.fenshulstu|a].fenshu2stu|a|.fenshu3;flag=l;break;}ifflag=Oprintfn无该学号学生记录!\n”;case3:printfn\nn;intanumber!number2ijindex=l;jprintf^*************•***■*«**********■*«**■***********■*»******■*■»\•printf”l:按学号排序2:查询\n,printfn3:统计4:返回主菜单\n”;******w**w**w**w•printf”请选择具体的处理内容vl〜3〉:”;scanfn%dnnumberl;switchnumberlcase1:{printfn排序后结果:\n;printf”学号姓名性别班级语英语\n”;printfn\nH;forj=l;j=sum;j++fori=0;isum-j;i++ifstu[ij.numstu[i+lJ.numtemp=stu[i];stu[i]=stu[i+l];stu[i+l]=temp;}fora=0;asum;a++printfn%-9d%-9s%-9s%-9d%-
9.1f%-
9.1f%-
9.1f\nnstu[a].numstufa].namestu[a].sexstu[a].classesstu[a].fenshulstu[a].fenshu2stu[a].fenshu3;break;}case2:{printfn请输入要查询的学生的学号:,scanfn%dnnumber2;printfn\nn;fora=0;avsum;a++ifnumber2=stu[aj.numprintf”学号姓名性别语文数学英语\n”;printfM\nn;printfH%-9d%-9s%-9s%-9d%-
9.1f%-
9.1f%-
9.1f\nstu[a].numstu[a].namestu[a].sexstu[a].classesstu[a].fenshulstu[a].fenshu2stu|a].fenshu3;}break;}case3:{intchoicea;printfH—〜〜〜—〜—〜〜〜\n;printf”l:统计平均分2:统计不及格学生信息3:3;1*1I!tf****\•printf”请再选择具体的统计内容1〜3:”;scanf”%dchoice;switchchoicecase1:printfn所有学生的平均成绩是:\n”;printf”学号姓名平均\n”;printfn\nn;fora=0;asum;a++printfH%-9d%-9s%-
9.1f%\nstu[a].numstu[a].namestu[a].fenshul+stu[a].fenshu2+stu[a].fenshu3/3;break;}case2:printf”有不及格科目的学生是:\n”;printfn学号姓名性别:凿旱39买{:11叫心{冲aiq•Uu\ujjuijd{tfnqsuoj[b]njs^nqsu^j*[b]njs6[nqsusj•[u]njsSQSS^p*[u]njsxqs•闵nKouieu•[引n】sumu•[引msuu16%JV6-%J【心一%-%,-%,-%-%“」,』:!++w iunswo=ejoj“u\“jmpd秦琳本里翡形此可,日痛含氟Jmpd“u\ji叩dipjui.}:*9SU0漩JqXM“Ju,d{:*9SP3*如{:乖aiq£0SPO£nqsu0j・[e]nisznqsu0j・|E]nKinqsuQj・|X|nKs0SSWQ|X]n}sx0S・[u]ns痔unm・®nis“nu•[引ns\uu[6%J16%JI.6-%P6-%s6-%s6-%P6-%“Jlu!Jd09〉£nqsuoj•间n】s||09乂nqsu习•[引nis||09[叫suqj•间msj!++bwns=E i=w.【oj“u\加叩d4l^!i潴鬲舞3处理数据请选择具体的统计内容5咎>
41.学号
2.姓考
3.在别
4.班级
5.语文成绩
6.数学成绩
7.麦语成绩
8.退田修改进生辜需该羊入泡输青青1~82:zhaoxue知.•性J勒名生姓改号TT数学英语100101zhaoxue
50156.
078.
074.04避出数^^WRRH—.2请选择具体的统计内容<1~5>3择后序号亍昱体的处理内容出起名性别班级语文数学英语23处理数据请选择具体的统计内容<1%>:32查询攵殖回主菜单j青选择具体的处理内容<1~3>2〔青输入要查询的学生晶学号=108202学号姓名性别班级语文数学英语100202linhain
50276.
064.
052.0请选择具体的统计内容%>32查询4返回主菜单漓号排序f\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r/\r请选择具体的处理内容50>3rsr/xr/xr/xr/xr/w/xr/xr/xr/xr/xr/xr/xr/xr/xr/xr/xr/xr/xr/xr/sr/xr/vr/xr/xr/xr/xr/xr/xr/xr/xr/xr/xr/xr/xr/sr/xr/xr/xr/xr/xr/xr/xr/xr/xr/xr/xr1:统计平均分2:统计不及格学生信息3返回ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ争号姓名平均平均100101£
00102.0020100202zhaoxueluosfinglihonglinhai
69.
380.
787.
064.0固|翳的统计内容Pressanykeytocontinue些mpfF姓名性别班级语文数学英语100201lihongm
50288.
082.
091.0100101zhaohaif
50156.
078.
074.0100202linhaim
50276.
064.
052.0100102luoyingF
50182.
077.
083.0zhaoxuef501luoi/ingF501lihongm502linhaim
50256.
078.
074.
082.
077.
083.
088.
082.
091.
076.
064.
052.0。