教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

C语言笔试--程序改错题(4)

来源:网络收集 时间:2026-09-02
导读: p1=str1;p2=str2; while(*p1!='\\0') { if(*p1==*p2) {while(*p1==*p2||*p2!='\\0') ////////////////||改为 {p1++; p2++;} } else p2++; ///////////////p1++; if(*p2=='\\0') sum++; p2=str2; } printf(\ getch()

p1=str1;p2=str2; while(*p1!='\\0') {

if(*p1==*p2)

{while(*p1==*p2||*p2!='\\0') ////////////////||改为&& {p1++; p2++;} } else

p2++; ///////////////p1++; if(*p2=='\\0') sum++; p2=str2; }

printf(\ getch(); }

gc367.c通过接受键盘输入的月数量,再根据当前的月份,可以计算出某一年的月份。例如,当前的月份是10,加输入的月数量5,月份是3;加输入的月数量 –13,月份是9。程序中输出的月份以英文字符显示。CURRENT为当前月份。程序有两处错误,请找出并修正,使之符合上述要求。不得增加行或删除行,也不得更改程序结构。

#define CURRENT 11 #include

main() { int month,monthnum; char *ch; char *month_name(int); printf(\ scanf(\ /*------------Found Mistake Below------------*/ if(monthnum>=0) month=(CURRENT-1+monthnum)+1; else month=(12+(CURRENT-1+monthnum))+1; ch=month_name(month); printf(\ }

printf(\%d Months is: %s\\n\ //////////month改为

monthnum

16

/*------------Found Mistake Below------------*/ char *month_name(int n) { char

*name[]={\c\////\前加\

}

return(name[n]);

gc369.c功能为:找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。程序中有两处错误代码,请指出并改正之。不得增加行或删除行,也不得更改程序结构。

*Find the saddle point*/ #include #define N 5 #define M 5

main(){

int i,j,k,flag1,flag2,a[N][M],max,maxi,maxj; for (i=0;i

scanf(\ flag2=0;

for (i=0;i

max=a[j][0]; ///////////// max=a[i][0] for (j=0;jmax) { max=a[i][j]; maxj=j; }

for (k=0,flag1=1;ka[k][maxj]) flag1=0; if (flag1) {

printf(\ flag2=1; } }

if (flag2) //////////// !flag2

printf(\}

gc393.c程序通过接受键盘输入的字符串,通过调用函数trimspace(),实现去掉字符串的前空格和尾空格。

程序有两处错误,请找出并修正,使之符合上述要求。不得增加行或删除

17

行,也不得更改程序结构。

#include main() {

char str[100];

void trimspace(char *); gets(str);

trimspace(str); puts(str); } /*------------Found Mistake Below------------*/ void trimspace(char *p) {

char *q; if(*p!='\\0')

q=strlen(p); ////////////////*q=strlen(p) else return;

/*------------Found Mistake Below------------*/ for(;*q==' ';q--); *q='\\0';

for(q=p;*q==' ';q++); strcpy(p,q);

return; ///////////////册除return }??

gc394.c中函数str1的功能是输入一个英文句子(字符串),将其中每个单词的最后一个字母改写成大写,然后输出此句子。(这里的\单词\是指由空格隔开的字符串)。例如:若输入:\则应输出:\请改正函数str1中的两个错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

#include \#include \#include \void str1(char *p) { int k=0; for(;*p;p++) if(k) {

if(p==' ') /////////////*p==' ' { k=0;

*p=toupper(*(p-1)); ///////////*(p-1)=toupper(*(p-1))

18

} } else k=1; }

void main() { char str[100]; int d; clrscr();

printf(\ gets(str); str1(str);

printf(\ }??

gc397.c功能为:设数组a[10]包括10个整型元素,求出a[10]中各相邻二个元素之和,并将这些和存储在数组b[10]中,最后按每行三个输出。程序中有三处错误代码,请改正.注意,不得改变程序结构。

#include main() { int a[10],b[10],i;

for(i=0;i<=10;i++) ///////////for(i=0;i<10;i++) {

scanf(\ //////////&a[i] } for(i=1;i<10;i++) { b[i]=a[i]+a[i-1]; } for(i=1;i<10;i++) { printf(\ }

}

if ( (i/3)==0) printf(\ //////i%3==0

gc398.c功能为:输入一个大写字母,打印出一个菱形。该菱形中间一行由此字母组成,其相邻的上下两行由它前面的一个字母组成,按此规律,直到字母A出现在第一行和最末行为止。程序中有三处错误代码,请指出并改正之。

例如:输入字母D,打印出如下图形: A BBB

19

CCCCC DDDDDDD CCCCC BBB A

#include ////////////////#include main(){ int i,j,k; char ch;

scanf(\ k=ch-'A'+1;

for (i=1;i<=k;i++){ for (j=40;j>=i;j--) printf(\

for (j=1;j<=i-1;j++) //////////////////for(j=1;j<=2*i-1;j++) printf(\ printf(\ }

k=ch-'A';

for (i=k;i>=1;i--){

for (i=40;i>=i;i--) ///////////////for(j=40;j>=i;i--) printf(\

for (j=1;j<2*i-1;j++) //////////////for(j=1;j<=2*i-1;j++) printf(\ printf(\ } }

gc405.c中,函数fun的功能是:'根据形参m的值(2≤m≤9),在m行m列的二维数组中存放如下所示的数据,由main()函数输出。

例如, 若输入2 则输出: 1 2 2 4 若输入4 则输出: 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16

20

…… 此处隐藏:1076字,全部文档内容请下载后查看。喜欢就下载吧 ……
C语言笔试--程序改错题(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/414174.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)