程序改错 好好好.docx
- 文档编号:5073734
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:214
- 大小:63.17KB
程序改错 好好好.docx
《程序改错 好好好.docx》由会员分享,可在线阅读,更多相关《程序改错 好好好.docx(214页珍藏版)》请在冰点文库上搜索。
程序改错好好好
试卷编号:
10194
所属语言:
TurboC
试卷方案:
cxgc
试卷总分:
1380分
共有题型:
1种
━━━━━━━━━━━━━━━━━━
一、程序改错共138题(共计1380分)
━━━━━━━━━━━━━━━━━━
第1题(10.0分)
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
根据整型形参m,计算如下公式的值:
y=1+1/3+1/5+1/7+...+1/(2m-3)
------------------------------------------------------*/
#include"stdio.h"
doublefun(intm)
{
/**********FOUND**********/
doubley=1
inti;
/**********FOUND**********/
for(i=3;i /**********FOUND**********/ y+=1.0/(2i-3); return(y); } voidmain(void) { intn; clrscr(); printf("Entern: "); scanf("%d",&n); printf("\nTheresultis%1f\n",fun(n)); getch(); } 答案: 1).doubley=1; 2).for(i=3;i<=m;i++)或for(i=3;i 3).y+=1.0/(2*i-3); 第2题(10.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 用选择法对数组中的n个元素按从小到大的顺序进行排序。 ------------------------------------------------------*/ #include #defineN20 voidfun(inta[],intn) { inti,j,t,p; for(j=0;j { /**********FOUND**********/ p=j for(i=j;i /**********FOUND**********/ if(a[i]>a[p]) /**********FOUND**********/ p=j; t=a[p]; a[p]=a[j]; a[j]=t; } } main() { inta[N]={9,6,8,3,-1},i,m=5; printf("排序前的数据: "); for(i=0;i printf("%d",a[i]); printf("\n"); fun(a,m); printf("排序后的数据: "); for(i=0;i printf("%d",a[i]); printf("\n"); getch(); } 答案: 1).p=j; 2).if(a[i]a[i]) 3).p=i; 第3题(10.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 编写一个程序,从键盘接收一个字符串,然后按照字符顺 序从小到大进行排序,并删除重复的字符。 ------------------------------------------------------*/ #include #include voidmain() { charstr[100],*p,*q,*r,c; printf("输入字符串: "); gets(str); /**********FOUND**********/ for(p=str;p;p++) { for(q=r=p;*q;q++) if(*r>*q) r=q; /**********FOUND**********/ if(r==p) { /**********FOUND**********/ c=r; *r=*p; *p=c; } } for(p=str;*p;p++) { for(q=p;*p==*q;q++); strcpy(p+1,q); } printf("结果字符串: %s\n\n",str); getch(); } 答案: 1).for(p=str;*p;p++) 2).if(r! =p) 3).c=*r; 第4题(10.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 编写程序,求矩阵(3行3列)与5的乘积 例如: 输入下面的矩阵: 100200300 400500600 700800900 程序输出: 50010001500 200025003000 350040004500 ------------------------------------------------------*/ #include"stdio.h" intfun(intarray[3][3]) { /**********FOUND**********/ inti;j; /**********FOUND**********/ for(i=1;i<3;i++) for(j=0;j<3;j++) /**********FOUND**********/ array[i][j]=array[i][j]/5; } main() { inti,j; intarray[3][3]={{100,200,300}, {400,500,600}, {700,800,900}}; clrscr(); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("\n"); } fun(array); printf("Convertedarray: \n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("\n"); } getch(); } 答案: 1).inti,j; 2).for(i=0;i<3;i++) 3).array[i][j]=array[i][j]*5; 第5题(10.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 用"起泡法"对连续输入的十个字符排序后按从小到大的次序 输出. ------------------------------------------------------*/ #defineN10 #include #include main() { inti; charstr[N]; /***********FOUND***********/ for(i=0;i /***********FOUND***********/ sort(str[N]); for(i=0;i printf("%c",str[i]); printf("\n"); } sort(charstr[N]) { inti,j;chart; for(j=1;j /***********FOUND***********/ for(i=0;i /***********FOUND***********/ if(str[i] { t=str[i]; str[i]=str[i+1]; str[i+1]=t; } } 答案: 1).for(i=0;i 2).sort(str); 3).for(i=0;i 4).if(str[i]>str[i+1])或if(str[i+1] 第6题(10.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 读入一行英文文本,将其中每个单词的最后一个字母改成 大写,然后输出此文本行(这里的“单词”是指由空格 隔开的字符串)。 例如: 若输入“Iamastudenttotaketheexamination.”, 则应输出“IaMAstudenTtOtakEthEexamination.”。 ------------------------------------------------------*/ #include"conio.h" #include"stdio.h" #include"ctype.h" #include"string.h" up1st(char*p) { /**********FOUND**********/ integerk=0; for(;*p;p++) if(k) { /**********FOUND**********/ if(*p='') { k=0; /**********FOUND**********/ *(p-1)=toupper(*(p-1); } } elseif(*p! ='')k=1; *(p-1)=toupper(*(p-1)); } main() { charchrstr[81]; clrscr(); printf("\nPleaseenterastring: "); gets(chrstr); printf("\n\nBeforechanging: \n%s",chrstr); up1st(chrstr); printf("\nAfterchanging: \n%s",chrstr); } 答案: 1).intk=0; 2).if(*p=='') 3).*(p-1)=toupper(*(p-1)); 第7题(10.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 在一个一维整型数组中找出其中最大的数及其下标。 ------------------------------------------------------*/ #defineN10 /**********FOUND**********/ floatfun(int*a,int*b,intn) { int*c,max=*a;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序改错 好好好 程序 改错 好好