版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、金隈科故岸院学生实验报告册(理工类)课程名称:C语言程序设计实验 专业班级:NIIT学生学号: 31 学生姓名:徐正所属院部:软件工程学院指导教师:吴刚2016201L学年第L学期金陵科技学院教务处制实验报告书写要求实验报告上交电子稿,标题采用四号黑体,正文 采用小四号宋体,单倍行距。实验报告书写说明实验报告中实验目的和要求、实验仪器和 设备、 实验内容与过程、实验结果与分析这四项内容为 必需项。教师可根据学科特点和实验具体要求增 加项目。填写注意事项、如实记录。说明事物。(1)细致观察,及时、准(2)准确说明,层次清(3)尽量采用专用术语(4)外文、符号、公式要准确,应使用统一规定的 名词和
2、符号。(5)应独立完成实验报告的书写,严禁抄袭、复 印,一经发现,以零分论处。实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红 色笔批改。实验报告的批改成绩采用五级记分制或 百分制,按金陵科技学院课堂教学实施细则中 作业批阅成绩评定要求执行。金陵科技学院实验报告实验项目名称:初级程序设计实验学时:6同组学生姓名: 一实验地点:工科楼A101实验日期:实验成绩:批改教师:吴刚批改时间:实验1初级程序设计一、实验目的和要求(1)熟悉Visual C+集成环境,进行编辑、保存、编译、连接及运 行,并能进行简单程序调试;(2)掌握C语言中各种运算符的使用;(3)掌握C语言中各种数据类型的区别
3、与应用;(4)熟练掌握C语言中变量的定义、赋值和使用,表达式语句、输 入/输出语句的使用;(5)掌握C语言中输入/输出函数的使用;(6)掌握C语言中控制语句的使用,含if-else>for>while>do-while 语句的使用。二、实验仪器和设备奔腾以上计算机,装有windows XP以上版本操作系统和Visual C+ 软件。三、实验内容与过程1、程序调试(1) ttinclude <>main () ints, t, p, sum;scanf ( "%d%d%d",&s, &t, &p);sum=s+t+p;pr
4、intf( "sum=%dn” , sum);)(2) ftinclude <>main () int k=3;if (k=3) printf ( u*w );elseprintf( "#" );)(3) include <>main ()int k=0;do printf ( ak=%dnv , k);while(k+>0);)2、程序改错下面是判断一个学生考试成绩及格与否的程序(成绩A,或B,或C 者为及格;成绩为D者不及格),调试并改进如下程序使其能满足上述输 出的需要。# include <>main () cha
5、r mark= "A” ;switch(mark)(case A :case"B” :case"C" : printf ( a>=60nn );case "D" : printf ( <<<60nM );default: printf ( uErrorn n ;)3、程序设计(1)功能:编程实现使实型正数保留2位小数,并对第三位进行四舍五入。例如:实型数为,则函数返回;实型数为,则函数返回。(2)功能:从键盘输入一个大写字母,要求改用小写字母输出。(3)功能:编写函数计算下列分段函数的值:+ x + 6 jv
6、< 0f(x) = x2 5x + 60 W x < 10V x 1 其它(4)功能:判断整数x是否是同构数。若是同构数,函数返回1;否则 返回0。X的值由主函数从键盘读入,要求不大于100。说明:所谓“同构数”是指这样的数,这个数出现在它的平方数的右 边。例如:输入整数5, 5的平方数是25, 5是25中右侧的数,所以5是同构 数。(5)功能:功能:计算正整数n的所有因子(1和n除外)之和并输出。n的值由键盘输入。例如:n二120时,输出239。(6)功能:计算并输出下列多项式的值S = 1 + 1/1! + 1/2! + 1/3!+ . + 1/n!例如:键盘给n输入15,则输
7、出为:s=o注意:要求n的值大于1但不大于100。(7)功能:从低位开始取出长整型变量s有数位上的数,依次构成一 个新数放在t中。例如:当s中的数为:7654321时,t中的数为:7531。4、思考题(1)功能:判断一个三位数是否水仙花数。在main函数中从键盘输 入一个三位数,并输出判断结果。说明:所谓水仙花数是指一3位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1+125+27。(2)功能:计算并输出3到n之间所有素数的平方根之和。例如:键盘给n输入100后,输出为:sum=o(3)功能:输出Fibonacci数列中大于s的最小的一个数。其中Fibonacci
8、数列F(n)的定义为:F(0)=0, F(l)=l F(n)=F(n-l)+F(n-2) 例如:键盘输入s=1000时,输出1597。程序清单及流程图:程序改错(1)# include <stdio. h> AtnalnOchar mark = "A” :67891011121314switch (nark) (case "月":case B :case "c" : prlntf( >= 6Dn" ) : break: case "D" : printf ( " < 60'
9、n" ); break; default: printf ( ErrorXn );) _在9 10行后面加上braak*/程序设计(1)ttinclude <>main ()(float n;scanf (f ,&n);printf (z,%. 2f0000n,z, n);(2)#include <>main() char n;printf (,zInput an 大写字母n");scanf(/c, &n);n=n+32;printfn);(3)tiinclude <>main ()(intx, y;printf (z,P
10、lese Input an Xn); scanf (%d”, &x);if (x<0&&x! = (-3)y=x*x+x+6;if(x>=0&&x<10&&x!二2&&x!=3)y=x*x-5*x+6;else y=x*x-x+l;PrintfC%dW,y);(4)此题不会(5)#include <>main ()(intx, i, s;s=0;printf("Plese Input an Xn);scanf&x);for(i=2;i<x;i+)(if(x%i=O) s
11、=s+i;)printf(“/dn,s);(6)ttinclude <>main ()intx, i, j, k;float s;s=;printf("Plese Input an Xn");scanf (%d, &x);if (x<=0)printf (,/Eorrn,/);for(i=l;i<=x;i+)(k=l;for(j=l;j<=i;j+)k*=j;s=s+k;)printf (,s=%fn,> s);(7)tiinclude <>main ()(ints, t=0, i=l, a=l;scanf(/d,&a
12、mp;s);while (s!=0)(a=s%10;s=s/100;a=a*i;i=i*10;t=t+a;)printf(/dn”, t);思考题(1)ttinclude <>main ()(ints, n, t=0, a=l;scanf (%d, &n);s=n;while (s!=0)(a=s%10;s=s/10;a=a*a*a;t=t+a;)if (n=t)printf("n=YESn);else printf (,n=NOn,/);)(2)ttinclude <>ttinclude <>main ()(intn, i, j;floa
13、t s=;scanf (%d, &n);for(i=3;i<=n;i+)(for(j=2;j<i;j+)if(i%j=O) break;if(j>=i-l)s=s+sqrt (i);printf (,%fn,> s);)(3)#include <>main ()(int i,n, fO=O, fl=l,f2=l;scanf (%d, &n);for(i=l; ;i+)(fO=fl;fl=f2;f2=f0+fl;if(f2>=n)break;)printf(dn, f2);金陵科技学院实验报告(2)四、实验结果与分析(程序运行结果及其分析
14、)程序调试1结果如下C' "C:DOCU1EHTS AMD SETTIHGSYADIIlilST:123sum =6Press any key to continue.程序调试2结果如下wC:DOCUIE!nS AUD SETTIIGSKADIIII k*Press any key to continue.程序调试3结果如下c: 七 DOCUIEirTS AUD SETTIHGSXADIU;0Press any key to continue.程序设计(1):GA *CzXDOCUIEinS AUD SETTIUGSVADIIIISTRAHr-1-H123.456 123.4
15、60000Press any key to continueCA -VDOCUIEinS AHD SETTIMGSVADIIIIST123.564 123-560000Press wny key to continue(2)C< *C:DOCUlEIiTS AID SETTIKGSVInput an大写字母AaPress any key to continueJ、C:DOCUlE!iTS AND SETTIIGSPlese In put an X 6 12Press any key to continue-(4)此题不会(5)c *C:DOCU1EHTS AHD SETTIHGSXAPl
16、ese Input an X 120 239Press an:/ key to continue.(6)c< *C:DOCITIE!ITS AND SETTIBGSXABIIH i Plese Input an X 15 s=2.718282Press any key to continue.c; *CzXDOCBTIEllTS AND SETTIHGS,6543217531iPpess any key to continue思考题(1)胸 MC:DOCUIEinS AND SETTIHGSXA1153n=VESPress any key to c o n t in ue金陵科技学院实验
17、报告1 *C:Windows systems 2Debugl.exe*100148.874268Press any key to continue(3) " F:COe buglxl.exeH 10001597Press any key to continue五、实验体会(遇到问题及解决办法,编程后的心得体会)刚开始学习C语言的时候,面对复杂的数据语言,感觉无从下手,感 觉让人很头大,不过经过一开始的艰苦学习之后,慢慢的发现了C语言的快乐,虽然还是有很多地方不懂,但是会继续加油的实验项目名称: 中级程序设计实验学时:8同组学生姓名:一实验地点:工科楼A101实验日期:实验成绩:批改教
18、师:吴刚批改时间:实验2中级程序设计一、实验目的和要求(1)掌握函数的定义、调用及返回、声明的应用;(2)熟练掌握一维数组的定义、初始化及使用;(3)掌握二维数组的定义、初始化及应用;(4)熟练掌握向函数传递一维数组的方法和应用;(5)掌握向函数传递一维数组的方法和应用。二、实验仪器和设备奔腾以上计算机,装有windows XP以上版本操作系统和Visual C+ 软件。三、实验内容与过程1、程序调试2、程序改错要求:1、改错时,只允许修改现有语句中的一部分内容,不允许添加 和删除语句。ttinclude <>int func (int a, int b)return(a+b);
19、main()int x=3,y=8, z=4, r;r=func(func(x, y), z);printf( ur=%dnn , r);)2、提示行下一行为错误行。(1)功能:判断m是否为素数,若是返回1,否则返回0。ttinclude <>/*FOUND*/ void fun( int n)inti,k=l;if(m<=l) k=0;/*FOUND*/for(i=l;i<m;i+)/*found*/if(m%i=0) k=0;/*found*/return m;)void main ()(intm, k=0;for(m=l;m<100;m+)if(fun(m)
20、=1)(printf(%4d, m);k+;if(k%5=0) printf(n);)(2)功能:在一个已按升序排列的数组中插入一个数,插入后,数组 元素仍按升序排列。ttinclude <>ftdefine N 11main () inti, number, aN = l, 2, 4, 6, 8, 9, 12, 15, 149, 156;printf (''please enter an integer to insert in the array:n);/*F0UND*/scanf(%d, &number)printf (z,The original a
21、rray: n,z);for(i=0;i<N-l;i+)printf(/5d, ai);printf (n);/*F0UND*/for(i=N-l;i>=0;i-)if(number=ai)/*found*/ai=aLi-l;elseai+l= number;/*F0UND*/exit;) if(number<a0J) a0=number;printf C'The result array: nz,);for(i=0;i<N;i+)printf(%5d”, ai);找出一个二行三列二维数组中的最大值,输出该最大值及其行列下标,建议二维数组值由初始化给出。tiin
22、clude ftinclude main () inti, j, max, s, t;/*FOUND*/ int a2 = 1, 34, 23, 56, 345, 7;clrscr ();/*FOUND*/max=O;s=t=O;for(i=0;i<2;i+)/*found*/for(j=l;j<3;j+)if (aEi J j >max) max=aij; s=i; t=j; /*FOUND*/printf (,max=a%d %d=%dn,i, j, max);)3、程序设计说明,所有题目均需添加main。,在main ()中调用子函数并设 计完整的输入输出才可调试通过。
23、功能:编写函数float fun(int n),求一分数序列2/1, 3/2, 5/3,8/5, 13/8, 21/13的前n项之和。说明:每一分数的分母是前两项的分母之和,每一分数的分子是前两项的分子之和。例如:求前20项之和的值为。(2)完成子函数int fun(int n),找出一个大于给定整数且紧随这个整数的素数,并作为函数值返回。说明,以下四个关于数组的题目,可以先用一个main ()函数实现, 然后相关内容学习后再利用数组作函数参数的子函数和main ()函数共同 实现。(3)功能:编写函数void fun(intn, int a),按顺序将一个4位的 正整数每一位上的数字存到一维
24、数组,然后在主函数输出。例如输入5678, 则输出结果为5 6 7 8o(4)功能:编写函数void £un(intarr, int n)将一个数组中的值按逆序存放,并在main。函数中输出。例如:原来存顺序为18,2,50,43,69。要求改为:69,43,50,2,18。(5)功能:程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数void fun(int a N, int n),使数组a左下三角元素中的值乘以n。例如:若n的值为3, a数组中的值为| 1 9 7 | 2 9 7 |a = 2 3 8则返回主程序后a数组中的值应为 4 6 8 | 4 5 6 | 8 1
25、0 12|(6)功能:编写函数void fun(int array3 3),实现矩阵(3行3列)的转置(即行列互换)。例如:输入下面的矩阵:100 200 300400 500 600700 800 900程序输出:100 400 700200 500 800300 600 900五、实验注意事项(1)调用系统库函数要包含相应头文件;(2)函数可以嵌套调用,但不可以嵌套定义;(3)注意数组的越界问题;(4)找最大值(最小值)的算法:先将第一个值认为是最大(小) 的,检索以后的值,判断如果当前数组元素值比保留在变量中的最大(小) 值大(小),则用当前数组元素值替换该变量中的值。六、讨论、思考题1
26、、功能:编写函数float fun(),利用以简单迭代方法Xn+l=cos (Xn)求方程:cos(x)-x=0的一个实根。迭代步骤如下:(1)取X1初值为;(2) xO=xl,把xl的值赋给xO;(3) xl=cos (xO),求出一个新的xl;(4)若xO-xl的绝对值小于,执行步骤(5),否则执行步骤(2);(5)所求xl就是方程cos(x)-x=0的一个实根,作为函数值返回。输出:程序将输出结果Root二。2、功能:编写float fun (float array , int n),统计出若干个学生 的平均成绩,最高分以及得最高分的人数。例如:输入10名学生的成绩分别为92, 87,
27、68, 56, 92, 84, 67, 75, 92, 66,则输出平均成绩为,最高分为92,得最高分的人数为3人。3编写函数int fun(int lim, int aaMAX),该函数的功能是求出 小于lim的所有素数并放在aa数组中,该函数返回求出素数的个数。4、功能:编写函数求5行5列矩阵的主、副 对角线上元素之和。注意,两条对角线相交的元素只加一次。5、功能:请编一个函数 void fun(int tt M N, int ppN), tt 指 向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入 pp所指一维数组中。二维数组中的数已在主函数中赋予。程序清单及流程图:程序改
28、错ILJinclude <stdio.fi>/ 1fFOUNDint fun( int n)n改为而(int iwk=1;If(n<=1) k=0;/HD *««»»*/f or(i«2; i<m; i-*)i1 改为 2八FOUNDS""",/ k-B;加上一个,/»曼干干胃青青x*FOU ND return k ;k改为 mnain()<int nkO;for(n-1 ;m<1 S0;w) if (Fun(im) -I) prictf ("2A(T. 口)
29、北一;iF(k%5=0) printFCAn-);(4)include <$tdio.h>linclud? <stdlib.h>»deFine N 11nain()< Int i,nuE)er,dNM1,2,%6,B,9412,15,149,156;printf(please enter an integer to insert in the array :n")OUND* * /scanF("如,而unber);(加上;)printf(i,The original array :n”);For(i«0;i<N-1;i
30、*)print(-%5d-fal);printf CAn");/”,”FOUND 卧一”/for(i=N-2;i>=0;i-)仕5-1改为十2)if(nuRber<=ai)/FOUND"一/a14ij=ai;(ai 卜 ”4-1改为else<ai*1=nunber;brea k ;(coct imie改为 break)if(number<a0) a0-nuraber;printf(MThe result array:XnM>For(i=0;i<N;i44)printff(-t5<l-,ai);10bzi members |ttinc
31、lude ,stzdlo.rr tlinclude ,conio.hM nainOint i rj,nax fsBt;/兼夕OUND*/int a23=<1,311,23,56,35,999>;( 7改成999)/ C1PSCP(>;/OUND53 渴/nax-00;5-t-0:OU ND */呜 x)< naxKj; s=i; t=j; 未发现错误MVBMrN u “FOUND" XVXMKNXM/printfCeirMX-ad%d-%d.n,fiwj ,nax);>未发现错误程序设计(1)ttinclude float fun(int n) floa
32、t sum=, f1=, f2=,f3;for(i=2;i<=n;i+)f3=fl+f2;f2=fl;sum+=f1/f2;return sum;main () int a;printf("press input an N(N>1):); scanf(“/d,&a);printf (z,sum=%fn,z, fun (a);(2)ttinclude float fun(int n) inti, j;for(i=n+l;i+)for(j=2;j<i;j+)if(遇j二二0) break;printfi);break;main ()int a;printf(Xp
33、ress input an N:");scanf(/d,&a);fun (a);(3)#include void fun(intn, int a)for(i=0;i<n;i+)printf (a_%d=%dn,i, bi);main ()intn, a4 = 0, i;printf(Xpress input an N:); scanf(/d,&n);for (i=3;i>=0;i)ai>n%10;n=n/10;fun (4, a);(4)ftinclude ftdefine N 5void fun(intarr, int n)(inti, j;for
34、(i=0;i<=N/2;i+)j=arri;arri=arrN-i-1;void main () inti, a二8, 6, 5, 4, 1;fun (a, N);for(i=0;i<N;i+)printf(%2d,ai);(5)#include ftdefine N 3 void fun(int aN, int n) inti, j;for(i=0;i<N;i+)for(j=0;j<N;j+)if (j二二 ii-j=2)aij*=3;)void main ()(inti, j,a 3 = 1,9, 7,2, 3, 8,4, 5, 6;fun (a, N);for(i
35、=0;i<N;i+)for(j=0;j<N;j+)(printf (4d,ai j);if(j=N-l)printf (n);) ttincludettdef ine N 3void fun(int aN, int n)(inti, j, k;for(i=0;i<N;i+)(for(j=0;j<N/2;j+)(k=aij;aj i=k;)if(i+j=N) k=ai j;aij=aji;aj i=k;)void main () inti, j,a 3 = 100, 200, 300,400, 500, 600,700, 800, 900;fun (a, N);for(i
36、=0;i<N;i+)for(j=0;j<N;j+)(printf(%6d”, aij);if(j=N-l)printf (n);)思考题(1)ttincludeOttincludeOfloat fun ()(float xl=, xO;inti;for(i=0;i+) xO=xl;xl=cos (xO);if(fabs(xO-xl)< break;)return xl;)void main ()(printf ("Root二%fn, fun ();(2)ttincludeOdefine N 10float fun (float array, int n)(float
37、avg, sum=,k;inti, j=0, max=0;for(i=0;i<n;i+)sum+=arrayi;if (array Ei>max)max=arrayi;)for(i=0;i<n;i+)if(max=arrayi)j+;)avg=sum/;printf (平均成绩=%, lfn最高分=%dn得最高分的人数 二/dn,avg, max, j);void main ()(float aN = 92, 87, 68, 56, 92, 84, 67, 75, 92, 66);fun (a, 10);(3)tiincludeOttdefine MAX 1000 int f
38、un(intlim, intaaMAXl)Int i, j, m=l;for (i=3; Klim; i+)(for(j=2;j<i;j+)(if(i%j=O)break;if(j>=i-l)(m+;aam-l=i;)return m;void main ()(intn, aMAX = 0;scanf (%d, &n);printf(/dn,fun(n, a);(4)ttincludeOttdefine M 5int fun(int a M)(int i, j, suml=0, sum2=0;for(i=0;i<M;i+)(for(j=0;j<M;j+)(if(
39、i=j)suml+=aLi j;if(i+j=M-l)sum2+=ai j;)printf (主对角线二%dn 副对角线二%dn,suml, sum2-aM-3;printf (主对角线+付对角线二%dn,suml+sum2-aM-3J M-3);)void main ()int aM =2, 3, 4, 1,6, 1,8, 1, 1,2, 3, 1, 5, 6,7,1,9, 1,2,1,4, 5, 6,1);fun (a);)(5)ttincludeOttdef ine M 4ttdefine N 5int fun(intttMN, int ppN)(inti, j, min=0;for(i
40、=0;i<N;i+)(for(j=0;j<M;j+)(min=tt0Ei;if (tt j i <min)min=ttj i;PPi=min;金陵科技学院实验报告printf (pp%d=%dn, i, ppLi);)void main ()(int aM N = 1, 5, 3, 4, 5,6, 7, 8, 9, 1,2, 2, 1, 5, 6,7, 2, 9, 5, 2),bN = 0;fun (a, b);四、实验结果与分析(程序运行结果及其分析)程序改错(1)(4):"F:Debu gcm m.exew3 7 7? n 13 5 7a19416183 key
41、723436789 to1129477197 continue"F:Debugcmm2.exe"please enter an integer to insert in the array:3The opiginal array:1246891215149156The pe&ult appay:12346891215149156Ppess: any key to continue(3)* F:Debug_l .exe" hax=aElHl=345IPpgss: any key to continue程序设计(1):F:Debug2.exe"pre
42、ss input an N<N>1):20 suni=32.660259Ppess any key to continue(2): "FiKDebugV.exe" press in put an N:36Press any key to continue(3):,'F:Debug2.exe" press input an M:5G78a0=5aLl=6a2=?a3=8Press any key to continue金陵科技学院实验报告匕"F:Debugl.exe"14 5 6 8Pi'ess any key to
43、continue(5):3976986912Pressanykey to continue(6):r "F:Debugl.exeto continue思考题(1) " F:Debugl.exe1'Root=8.739085Ppess any key to continue(2)=t 数y 人ke 2侪y =9分an 分高6" D:Debugl.exe *思考题3:思考题4:扈"D:Debugl.exe*副对角线=4主哥角绅付对角线=9Press any key to continue思考5: * F:Debugl .exe"ppE0=l
44、ppLll=2ppC21=3ppE3=4ppL41=2Ppess any key to continue五、实验体会(遇到问题及解决办法,编程后的心得体会)还是经历了一段艰难的学习时间,对C语言还是有很多困惑,学习过 程中还是有很多不懂的地方,不过学习就是不断克服困难的过程吧。实验项目名称:高级程序设计实验学时:6同组学生姓名:实验地点:工科楼A101实验日期:实验成绩:批改教师:吴刚批改时间:int x=3,y=4, z=5;swap (swap (&x, &y), &z);printf ( "%d, %d, %d” , x, y, z);)思考:上面程序中
45、函数swap。预将两个数的值相互交换,但结果为什 么没有交换2、程序改错要求:1、改错时,只允许修改现有语句中的一部分内容,不允许添加 和删除语句。2、提示行下一行为错误行。(1)功能:为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换,输出数组元素。ttinclude <>void input (int *arr,int n)int *p,i;p=arr;printf (''please enter 10 integers: n);for(i=0;i<n;i+)/*ERR0R*/scanf (“%d', p);)voi
46、d max_min(int *arr,int n)(int *min, *max, *p, t;min=max=arr;for (p=arr+l;p<arr+n;p+)/*ERR0R*/max=p;else if(*p<*min) min=p;t=*arr;*arr=*min;*min=t;/*error*/if(max=arr) max=min;t=*(arr+n-l);*(arr+n-1)=*max;*max二t;void output(int *arr,int n)int *p, i;P=arr;printf (z,The changed array is:n);/*erro
47、r*/while (i=0;i<n;i+)printf(%3d,*p+);printf (rT);main ()(int a10;input(a, 10);max_min(a, 10);output(a, 10);)(2)功能:将s所指字符串的反序和正序进行连接形成一个新串放在 t所指的数组中。例如:当s所指的字符串的内容为ABCD时,t所指数组中的内容为 DCBAABCD。ttinclude <>ttinclude <>ttinclude <>/*F0UND*/void fun (char s, char t)inti, d;/*F0UND*/d =
48、 len(s);/*F0UND*/ for (i = 1; i<d; i+) t i = sEd - 1 - i ;for (i = 0; i<d; i+)t d + i = si;/*F0UND*/t2*d = '/O')main ()(char s 100, t100;printf(XnPlease enter string S:);scanfs);fun(s, t);printf ('nThe result is:t);)3、程序设计说明,所有题目均需添加main (),在main ()中调用子函数并设 计完整的输入输出才可调试通过°(1)编
49、写一 main。函数,要求利用指针,实现从键盘输入三个数,然 后按照由小到大的顺序输出此三个数。(2)功能:编写函数 float fun ( float *a , int n ),用来 计算n门课程的平均分,结果作为函数值返回。其中数组a中保存了n门课 程的分数。例如:若有5门课程的成绩是:,72, 80, 55,则函数的值为:。(3)功能:请编写一个函数 void fun(int *s, int n, int *k),用来 求出数组s中的最大元素在数组中的下标,用k带回。其中n为主函数数 组中的数据个数。例如:在主函数中输入如下整数:876 675 896 101 301 401 980 4
50、31 451 777则在主函数中输出结果为:6, 980(4)功能:编写函数 void len_cat (char cl 口, char c2口)将第二个 串连接到第一个串之后,不允许使用strcat函数。(5)功能:编写函数void fun (char *str, char ch)从字符串str中 删除指定的字符ch。要求:本问题要求用两种算法分别实现,一是直接删除算法即查找符 合删除条件的并逐次前移实现;二是间接删除算法即查找不符合删除条件 的并保留下来,而保留的方法可以采用利用本数组和引入临时数组两种实 现。说明:该字符可能多次和连续出现,算法应全面考虑。(6)功能:编写函数long f
51、un ( char *p),将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。六、讨论、思考题(1)功能:请编写函数void fun (char (*s) N, char *b),将M行N列的二维数组中的字符数据按列的顺序依次放到一个字符串中。例如:二维数组中的数据为:W W W WS S S SH H H H则字符串中的内容应是:WSHWSHWSHWSHo(2)功能:编写函数 void fun (char str, int i, int n),从字符串 str中删除第i个字符开始的连续n个字符(注意:str 0代表字符串的第 一个字符)。(3)功能:编写函数vo
52、id fun (char *s, char t ),将s所指字符串中 除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都 删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如:若s所指字符串中的内容为:ABCDEFG12345”,其中字符A的 ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符 1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除, 其他依此类推。最后t所指的数组中的内容应是: 135。功能:请编写函数int fun( char *s),统计一行字符串中单词的个数作为函数值返回。规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。(5)功能:编写函数void fun (c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年项目中介服务协议范本
- 2024年有担保人参与的购房协议模板
- 2024年学生宿舍租赁协议样本
- 城市核心区团购房协议模板2024
- 2024年个人二手房买卖协议
- 2024年专业货物运输协议模板大全
- 2024年度专家合作协议格式样本
- 2024年矿山交易居间服务协议稿
- 2024不锈钢安装施工协议
- 2024年房地产会员加盟协议样式
- 新生儿高胆红素血症护理查房 (精制手工图文)
- 审计招投标合同范本
- 2024年《种子生产经营者及种子法》知识考试题库与答案
- 医疗机构聘用合同标准范本
- 2024-2030年中国移动运营行业深度分析及发展战略研究咨询报告
- 服装行业竞争对手分析
- 教室使用登记表
- 易制毒化学品培训教育制度
- 中成药处方审核专家讲座
- 2014年4月自考00804金融法二试题及答案含解析
- 口腔护理持续改进
评论
0/150
提交评论