c语言编程改错题.doc_第1页
c语言编程改错题.doc_第2页
c语言编程改错题.doc_第3页
c语言编程改错题.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【程序功能】对N行N列二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序。【含有错误的源程序】#include #define N 4void swap( int *p1, int *p2) int p; p=p1; p1=p2; p2=p;void sort(int aNN) int i, j, k; for(i=0;iN;i+) for(j=0;jN-1;j+) for(k=j+1;kN-1;k+) if(i%2=0?aijaik) swap(ai+j, ai+k);void main() int aNN=3,4,2,1,8,7,5,6,12,10,11,9,15,14,16,13; int i,j; sort(aNN); for(i=0;iN;i+) for(j=0;jN;j+) printf(%3d,aij); printf(n); 【测试数据与运行结果】输入数据:3 4 2 1 8 7 5 612 10 11 916 14 16 13 输出结果:1 2 3 48 7 6 59 10 11 1216 15 14 13【程序功能】判断一个英文句子是否是回文。回文原指一个正读和反读都完全一样的单词。例如level是一个回文。若忽略标点符号、空格及字母大小的差异,回文的概念可以扩展到一个英文句子。例如,Madam, Im 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) spk+=ch-A+a; else if(a=ch & chj; i+,j-) if(spi!=spj) ok=0; break; free(sp); return ok; void main() char s80= Madam, Im Adam. ,Not a palindrome. ;int i,ok; for(i=0; i2; i+) ok=palin(si); printf(ok?%s: Yes.n:%s: No.n,si); 【测试数据与运行结果】测试数据:“Madam, Im Adam.”,“Not a palindrome.”运行结果: Madam, Im 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; iend-start-1; i+) for(j=start; jend-1-i; j+) if(flag? ajaj+1) temp=aj; aj+1=aj; aj+1=temp; void resort(int *x, int n) int i=0, j=n-1, temp, k; while(ij) while(ij)&(xi%2=0) i+; while(ij)&(xj%2!=0) j-; if(ij) temp=xi; xi=xj; xj=temp; i+;j-; i=0; while(xi%2=0) i+; sort(x, 0, i, 1); sort(x, i, n, 0);main() int a10=17, 15, 10, 14, 16, 17, 19, 18, 13, 12,i; printf(n); for(i=0; i10; i+) printf(%5d, ai); a10=resort(); printf(n); for(i=0; i10; i+) printf(%5d, ai); 【测试数据与运行结果】测试数据:17 15 10 14 16 17 19 18 13 12输出结果:18 16 14 12 10 13 15 17 17 19【题目要求】1 编写函数int length(char *p) ,求字符串的长度 2 main函数中输入字符串,调用函数length求该字符串的长度,并输出。编程要求如下:1 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。编程要求如下:1。编写函数void proc(int a,int b,long *c),该函数的功能是将两个两位正整数a、b合并

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论