C程序设计教程与实验 吉顺如.doc_第1页
C程序设计教程与实验 吉顺如.doc_第2页
C程序设计教程与实验 吉顺如.doc_第3页
C程序设计教程与实验 吉顺如.doc_第4页
C程序设计教程与实验 吉顺如.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高级语言程序设计实验(2)测试题重命名该文件:文件名保存为“班级学号姓名”,最后提交该word文件一、程序填空题 1. 程序功能:函数f的功能是从字符串中删除所有的数字字符,并返回删除的个数;主程序调用函数f删除字符串str中的数字字符,并输出删除的字符数。源程序:#include #include int f(char s) int i=0; _1_; while(si!=0) if(si=0&si=9) strcpy(s+i,s+i+1); count=count+1; /* count表示删除的数字字符数 */ else _2_; return _3_;void main() char str80; int m; printf(输入字符串:); gets(str); m=_4_; printf(删除数字后的字符串:); puts(str); printf(删除的数字字符个数:%d,_5_);12345int count=0i+countf(str)m2、给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。 例如,s所指字符串为:baacda,c中的字符为:a, 执行后s所指字符串为:baaaacdaa。 #include void fun(char *s, char c) int i, j, n; for(i=0; si!=_1_; i+) if(si=c) n=_2_ ; while(si+1+n!=0) n+; for(j=i+n+1; ji; j-); sj+1=_3_ ; i=i+1; main() char s80=baacda, c; printf(nThe string: %sn,s); printf(nInput a character: ); scanf(%c,&c); fun(s,c); printf(nThe result is: %sn,s);12300sj二、程序调试题1. 程序调试题1调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果截图功能说明:程序计算并输出1! + 2! + + n!(1至n阶乘的累加和),其中函数fact(n)计算n!的值,返回类型为double。如输入:10则输出:1!+2!+10!=4037913原程序:#include double fact( int n ) int i; double result = 1; for ( i=1; in; i+ ) result = result * i; return result;void main() int i, n; double sum = 0; scanf( %d, &n ); for ( i=1 ; i=n; i+ ) sum += fact(int i); printf( 1!+2!+.+%d! = %.0lfn, n, sum );修改后的程序:#include double fact( int n ) int i; double result = 1; for ( i=1; i=n; i+ ) / *modified*/ result = result * i; return result;void main() int i, n; double sum = 0; scanf( %d, &n ); for ( i=1 ; i=n; i+ ) sum += fact(i); /*modified*/ printf( 1!+2!+.+%d! = %.0lfn, n, sum );运行结果截图:2. 程序调试题2调试要求:下列程序有3处错误,请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果截图。功能说明:以下程序中函数str_to_upper将字符串中的小写字母转换为大写字母,主函数调用此函数及输入输出数据,用户通过键盘输入计算所需的数据。如输入:Hello world.则输出:HELLO WORLD.原程序(见C:KSC_3_2.C):#include void str_to_upper( char *s )while ( *s = 0 )if ( *s=a | *s=z )*s = *s - A + a;s+;void main()char str80;gets( str );str_to_upper( str );puts( str );修改后的程序:#include void str_to_upper( char *s )while ( *s != 0 ) /*modified*/if ( *s=a & *s=z ) /*modified*/*s = *s -32; /*modified*/s+;void main()char str80;gets( str );str_to_upper( str );puts( str );运行结果截图:三、编程题(写出代码,运行结果截图)1、P154 编程题5程序:#include void main()int a33,b33,i,j;printf(输入原数组:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);printf(转置后数组:n);for(j=0;j3;j+)for(i=0;i3;i+)bji=aij;for(j=0;j3;j+)for(i=0;i3;i+)printf(%4d,bji);printf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论