收藏 分销(赏)

教材程序调试题.doc

上传人:xrp****65 文档编号:7020163 上传时间:2024-12-25 格式:DOC 页数:8 大小:63.50KB 下载积分:10 金币
下载 相关 举报
教材程序调试题.doc_第1页
第1页 / 共8页
教材程序调试题.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
1.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:将字符串s中所有的字符'c'删除。 #include <stdio.h> void main() { char s[80]; int i,j; gets(s); for(i=j=0;____ 1_ ____;i++) if(s[i] != 'c') { s[j]=s[i]; ______2______ } s[j]='\0'; puts(s); } 2.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入三个整数,按由小到大的顺序输出这三个数。 #include <stdio.h> void swap(______1______) { /*交换两个数的位置*/ int temp; temp = *pa; *pa = *pb; *pb = temp; } void main() { int a,b,c,temp; scanf("%d%d%d",&a,&b,&c); if(a>b) swap(&a,&b); if(b>c) swap(&b,&c); if(______2______) swap(&a,&b); printf("%d,%d,%d",a,b,c); } 3.在考生目录的Paper子目录下,有Modify.c文件,该文件中“***** N *****”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入一个字符串,将组成字符串的所有字符先按顺序存放到字符串t中,再将字符串中的字符按逆序连接到字符串t * 后面。例如:输入"ABCD",则字符串t为"ABCDDCBA"。 # include <stdio.h> # include <string.h> void fun(char *s,char *t) { int i,sl; sl=strlen(s); for(i=0;i<sl;i++) t[i]=s[i]; for(i=0;i<sl;i++) /********1********/ t[sl+i]=s[sl-i]; /********2********/ t[sl]="\0"; } void main() { char s[100],t[100]; scanf("%s",s); fun(s,t); printf("%s",t); } 4.在考生目录的Paper子目录下,有Modify.c文件,该文件中“***** N *****”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。 例如:输入"abc123+xyz.5",应输出"abcxyz"。 #include <stdio.h> #include <string.h> void main() { char str[256]; int i,j,k=0,n; gets(str); n=strlen(str); for(i=0;i<n;i++) /********1********/ if (tolower(str[i])<'a' || tolower(str[i])>'z') { /********2********/ str[n]=str[i]; n++; } str[k]='\0'; printf("%s\n",str); } 5.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:调用函数f计算代数多项式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x 当x=1.7时的值。 #include <stdio.h> float f(float,float*,int); void main() { float b[5]={1.1,2.2,3.3,4.4,5.5}; printf("%f\n",f(1.7,b,5)); } float f( _______1________ ) { float y=a[0],t=1; int i; for(i=1;i<n;i++) { t=t*x; y=y+a[i]*t; } _____2_____ } 6.在考生目录的Paper子目录下,有Modify.c文件,该文件中“***** N *****”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 将输入的十进制整数n通过函数DtoH转换为十六进制数,并将转换结果以字符串形式输出。 例如:输入十进制数79,将输出十六进制4f。 # include <stdio.h> # include <string.h> char trans(int x) { if(x<10) return '0'+x; /********1********/ else return 'a'+x; } int DtoH(int n,char *str) { int i=0; while(n!=0) { str[i]=trans(n%16); /********2********/ n%=16; i++;} return i-1; } void main() {int i,k,n; char *str; scanf("%d",&n); k=DtoH(n,str); for (i=0;i<=k;i++) printf("%c",str[k-i]); } 7.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:数列的第1、2项均为1,此后各项值均为该项前二项之和。计算数列第30项的值。 #include <stdio.h> _______1______ void main() { printf("%ld\n",f(30)); } long f(int n) { if( ______2______ ) return 1; else return f(n-1)+f(n-2); } 8.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入1个整数后,输出该数的位数(若输入3214则输出4,输入-23156则输出5)。 #include <stdio.h> void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ){ k++; _____2_____; } printf("%d\n",k); } 9.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:调用函数f,从字符串中删除所有的数字字符。 #include <stdio.h> #include <string.h> #include <ctype.h> void f(char *s) { int i=0; while(s[i]!='\0'){ if(isdigit(s[i])) ____1____(s+i,s+i+1); ___2___ i++;} } void main() { char str[80]; gets(str); f(str); puts(str);} 10.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:分别统计字符串中英文字母、数字和其他字符出现的次数。 #include <stdio.h> #include <ctype.h> void main() { char a[80]; int n[3]={0},i; gets(a); ________1________ {if (tolower(a[i])>='a' && tolower(a[i])<='z') /*统计字母个数*/ n[0]++; else if (________2________) /*统计数字个数*/ n[1]++; else n[2]++; } for(i=0;i<3;i++) printf("%d\n",n[i]); } 11.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:运行时若输入a、n分别为3、6,则输出下列表达式的值: 3+33+333+3333+33333+333333 #include <stdio.h> void main() { int i,a,n; long t=0; /********* 1 *******/ s=0; scanf("%d%d",&a,&n); for(i=1;i<=n;i++) { /******* 2 ******/ t=t*10+i; s=s+t; } s=s*a; printf("%ld\n",s);} 12.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 #include <stdio.h> #include <math.h> void main() { int n,s=0; scanf("%d",&n); ______ 1 ______ while(n!=0) { ______ 2 ______ n=n/10; } printf("%d\n",s); } 13.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 找出100~999之间所有的Armstrong数。所谓Armstrong数是指这个3位数各位上数字的立方和等于自身。例如:371=3*3*3+7*7*7+1*1*1,那么371就是Armstrong数。 #include <stdio.h> #include<math.h> void main() { int i,a,b,c; for(i=100;i<=999;i++) {a=i/100; _______1_______ c=i%10; if (________2________) printf("%d is a Armstrong number!\n",i);} } 14.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入的一个小写字母,将字母循环后移5个位置后输出,如’a’变成’f’, ‘w’变成’b’。 #include <stdio.h> void main() { char c; c=getchar(); if(______1______) c=c+5; else if (c>='v' && c<='z') ______2______ putchar(c); } 15.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。 #include <stdio.h> #include <math.h> #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ______1______ for(x=2;x<=10;x++) ______2______ printf("%f\n",max); } 16.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:调用函数f,将1个整数首尾倒置,若程序输入12345,则输出54321; 若程序输入-34567,则输出-76543。 #include <stdio.h> #include <math.h> long f(long n) { long m,y=0; m=fabs(n); while(m!=0) { y=y*10+m%10; ____1____ } if(n>=0) return y; else _____2_____ } void main() { printf("%ld\t",f(12345)); printf("%ld\n",f(-34567)); } 17.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能: 求出a中各相邻两个元素的和,并将这些和存放在数组 b中,按每行3个元素的形式输出。例如: b[1]=a[1]+a[0],…………,b[9]=a[9]+a[8]。 #include <stdio.h> void main() { int a[10],b[10],i; printf("\nInput 10 numbers: "); for (i=0; i<10;i++) /* 数组输入 */ scanf("%d", &a[i]); for (i=1; i<10; i++) b[i]=______1______; /* 计算b数组中的元素 */ for (i=1; i<10; i++) { printf("%3d",b[i]); if (______2______) printf("\n"); } /* 每行打印3个数据 */ } 18.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入m、n(要求输入数均大于0),输出它们的最大公约数。 #include <stdio.h> void main() { int m,n,k; while(scanf("%d%d",&m,&n), _______1______ ); for( ____2____; n%k!=0||m%k!=0; k--); printf("%d\n",k); } 19.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入x和正数eps,计算多项式1-x+x*x/2!-x*x*x/3!+...的和直到末项的绝对值小于eps为止。 #include <stdio.h> #include <math.h> void main() { float x,eps,s=1,t=1,i=1; scanf("%f%f",&x,&eps); do { /***** 1 *****/ t=-t*x/++i; s+=t; /***** 2 *****/ } while(fabs(t)<eps) printf("%f\n",s); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服