第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > c语言编程题改错题怎么改 c语言编程改错题.doc

c语言编程题改错题怎么改 c语言编程改错题.doc

时间:2019-07-21 06:35:21

相关推荐

c语言编程题改错题怎么改 c语言编程改错题.doc

c语言编程改错题

【程序功能】对N行N列二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序。

【含有错误的源程序】

#include

#define N 4

void swap( int *p1, int *p2)

{ int p;

p=p1; p1=p2; p2=p;

}

void sort(int a[N][N])

{ int i, j, k;

for(i=0;i

for(j=0;j

for(k=j+1;k

if(i%2==0?a[i][j]a[i][k])

swap(a[i]+j, a[i]+k);

}

void main()

{ int a[N][N]={{3,4,2,1},{8,7,5,6},{12,10,11,9},{15,14,16,13}};

int i,j;

sort(a[N][N]);

for(i=0;i

{ for(j=0;j

printf("%3d",a[i][j]);

printf("\n");

}

}

【测试数据与运行结果】

输入数据:

4 2 1

7 5 6

12 10 11 9

16 14 16 13

输出结果:

1 2 3 4

8 7 6 5

9 10 11 12

16 15 14 13

【程序功能】判断一个英文句子是否是回文。回文原指一个正读和反读都完全一样的单词。例如level是一个回文。若忽略标点符号、空格及字母大小的差异,回文的概念可以扩展到一个英文句子。例如,Madam, I’m Adam就是一个回文句子。下列程序中,函数palin的功能是判断一个英文句子是否是回文,如果是返回1,否则返回0。

【含有错误的源程序】

#include

#include

#include

void palin(char *s)

{ int i, j, k, ok;

char *sp, ch;

k=strlen(s);

sp=(char *)malloc(k+1);

if(sp==NULL)

{ printf("error!\n");

exit(0);

}

k=0;

while(*s)

{ ch=*s;

if(!('A'<=ch && ch<='Z'))

sp[k++]=ch-'A'+'a';

else if('a'<=ch && ch<='z')

sp[k++]=ch;

s++;

}

sp[k]= '\0';

ok=1;

for(i=0, j=k-1;i>j; i++,j--)

if(sp[i]!=sp[j]) { ok=0; break;}

free(sp);

return ok;

}

void main()

{ char s[80]={ "Madam, I'm Adam. ","Not a palindrome. "};

int i,ok;

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

{ ok=palin(s[i]); printf(ok?"%s: Yes.\n":"%s: No.\n",s[i]); }

}

【测试数据与运行结果】测试数据:“Madam, I'm Adam.”,“Not a palindrome.”

运行结果: Madam, I’m Adam.:Yes.

Not a palindrome.:No.

【程序功能】重新排列一维数组元素的顺序,使得左边的所有元素均为偶数并按由大到小的次序存放,右边的所有元素均为奇数并按由小到大的次序存放。

【含有错误的源程序】

#include

#include

void sort(int a[], int start, int end, int flag)

{ int i, j, k, temp;

for(i=start; i

for(j=start; j

if(flag? a[j]a[j+1])

{ temp

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。