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

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

来源:网络收集 时间:2026-09-02
导读: 程序有两处错误,请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include #include #define M 10 int a[M][M]={0}; fun(int **a, int m) ///////////*

程序有两处错误,请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include #include #define M 10 int a[M][M]={0};

fun(int **a, int m) ///////////**a改为a[M][M] { int j,k;

for (j=0;j

for (k=1;k

main() { int i,j,n; clrscr();

printf(\fun(a,n);

for(i=0;i

printf(\ printf(\} }

在给定gc406.c程序中,函数fun的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为:87653142时,t中的数为:7531。

请改正函数fun中的三处错误,使它能得出正确的结果。

注意:不得改变程序的结构和算法,也不能增加或删减程序行

#include #include

void fun(long s, long *t) { int d;

long sl = 1;

/************found************/ t = 0; ///////// *t=0 while (s > 0) { d = s;

/************found************/ if (d%2 == 0) //////// d%2!=0 { *t = d * sl + *t;

21

sl *= 10; }

/************found************/ s = 10; /////// s/=10 } }

main() { long s, t; clrscr();

printf(\ fun(s, &t);

printf(\}

gc407.c程序的功能是:读入一个数字b,求sum=b+bb+bbb。例如:读入数字7,则输出下列表达式的和sum=7+77+777。请指正程序中的三处错误,使它能得出正确的结果。

注意:不得改变程序的结构和算法,也不能增加或删除程序行。

#include \#include \main()

{ int i=-1,j;

long int b,temp,sum;

scanf(\ ////////// &b do

{ i++; temp=0;

for (j=0;j<=i;j++) temp=temp+(long int)pow(10,j-1)*b; //////temp=(long int)pow(10,j)*b sum+=temp;

}while(i<=3); ////////// while(i<3) printf(\}

gc453.c程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。程序有两处错误,请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include

22

#include main()

{ char a[]=\int i, j, k; k=strlen(a);

for(i=0; i<=k-2; i+=2)

for(j=i+2; j<=k; j++ ) //////// for(j=i+2;j<=k;j+=2) if( a[i]a[j] { t=a[i]; a[i]=a[j]; a[j]=t; } puts(a);

printf(\}

gc461.c程序功能为:使用冒泡法对数组data中的数据按升序排列,如data中数据为5,6,3,8,7,则输出为3,5,6,7,8。程序中有三处错误代码,请指出并改正之.注意,不得改变程序结构。

main() {

int i,data[]={5,6,3,8,7};

sort(4,data[1]); ///////sort(5,data) printf(\

for(i=1;i<=4;i++) /////// for(i=0;i<5;i++) printf(\ }

sort(int n,int array[]) {

int i,j,t;

for(i=0;i

for(j=0;j<=n-1;j++) /////////// for(j=0;jarray[j+1]) {

array[j]=t;

array[j]=array[j+1]; array[j+1]=t; } } }

23

gc462.c程序的功能是:打印出如下形式的杨辉三角形。要求根据用户的输入,决定输出几行。程序中有三处错误,请指出并改正。

1

1 1

1 2 1 1 3 3 1

1 4 6 4 1 1 5 10 10 5 1 ......

注意:不得改变程序的结构和算法,也不能增加或删除程序行。

#include \

int yanghui(int x,int y) ////////加上分号; main() {

int i,j,n; clrscr();

printf(\ scanf(\ for (i=1;i<=n;i++) {

for (j=0;j<=n-i;j++) printf(\ \ for (j=1;j<=i;j++)

printf(\ printf(\ } }

int yanghui(x,y) //////// int yanghui( int x,int y) {

int z;

if (y==1||y==x) z=1; else

z=yanghui(x,y-1)+yanghui(x-1,y);

//////////

z=yanghui(x-1,y-1)+yanghui(x-1,y)

return z; }

输入一个范围-32768——32767的整数,调用函数split(),拆解出各位的数字,放入字符数组s[]中。

正数前面加“+”号,负数前面加“-”号,零不加符号。

gc486.c程序有两处错误,请找出并修正,使之符合上述要求。不得增

24

加行或删除行,也不得更改程序结构。

#include int main(void) { char s[7]; int k; void split(int,char *); printf(\ scanf(\ split(k,s); printf(\ return 0; }

void split(int t,char *ps) { int i; char *q=ps,tmp; if (t>0) *ps++='+'; if (t<0) { *ps++='-'; t=-t; }

/*------------Found Mistake Below------------*/ while(t/10!=0) /////// while(t!=0) { i=t/10; *ps++=t-i*10; t=i; } *ps++='0'+t; *ps='\\0';

/*------------Found Mistake Below------------*/ }

for(q++;q

gc488.c程序的功能是:读入一个整数n,求sum=1!+2!+3!+...+n!。请指正程

序中的三处错误,使它能得出正确的结果。

注意:不得改变程序的结构和算法,也不能增加或删除程序行。

25

#include \

long int factorial(int n) {

int i;

long int p=0; /////// p=1 for (i=1;i<=n;i++) p=p*i; return p; }

void main() {

int i,n;

long int sum=0;

scanf(\ /////// &n for (i=1;i<=n;i++)

sum=sum+factorial(n); ///////sum=sum+factorial(i) printf(\ }

26

…… 此处隐藏:950字,全部文档内容请下载后查看。喜欢就下载吧 ……
C语言笔试--程序改错题(5).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)