C语言编程改错完善1.doc_第1页
C语言编程改错完善1.doc_第2页
C语言编程改错完善1.doc_第3页
C语言编程改错完善1.doc_第4页
C语言编程改错完善1.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

编写程序1. /*-【程序设计】-功能:编写函数fun(str,i,n),从字符串str中删除第i个 字符开始的连续n个字符(注意:str0代表字符串 的第一个字符)。-*/#include stdio.h#include string.hmain() char str81; int i,n; void fun(char str,int i,int n); void TestFunc(); printf(请输入字符串str的值:n); scanf(%s,str); printf(你输入的字符串str是:%sn,str); printf(请输入删除位置i和待删字符个数n的值:n); scanf(%d%d,&i,&n); while (i+n-1strlen(str) printf(删除位置i和待删字符个数n的值错!请重新输入i和n的值n); scanf(%d%d,&i,&n); fun(str,i,n); printf(删除后的字符串str是:%sn,str); TestFunc();void fun(char str,int i,int n) /*Begin*/ /* End */void TestFunc() FILE *IN,*OUT; char i200; /*char o200;*/ IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); fscanf(IN,%s,i); fun(i,2,8); fprintf(OUT,%sn,i); fclose(IN); fclose(OUT);2. /*-【程序设计】-功能:请编一个函数void fun(int ttMN,int ppN), tt指向一个M行N列的二维数组,求出二维数组每列 中最小元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。-*/#include conio.h#include stdio.h#define M 3#define N 4 void fun(int ttMN,int ppN) /*Begin*/ /* End */main() int tMN=22,45,56,30,19,33,45,38,20,22,66,40; void NONO(); int pN,i,j,k; printf(The original data is:n); for(i=0;iM;i+) for(j=0;jN;j+) printf(%6d,tij); printf(n); fun(t,p); printf(nThe result is:n); for(k=0;kN;k+) printf(%4d,pk); printf(n); NONO();void NONO() int i,j, array34,p4; FILE *rf, *wf ; rf = fopen(in.dat, r) ; wf = fopen(out.dat, w) ; for (i=0; i 3; i+) for (j=0; j 4; j+) fscanf(rf, %d, &arrayij); fun(array,p); for (j=0; j 4; j+) fprintf(wf, %7d, pj); fprintf(wf, n); fclose(rf) ; fclose(wf) ; 答案1.while(stri+n-1) stri-1=stri+n-1; i+; stri-1=0;2. int i,j; for(j=0;jN;j+) ppj=tt0j; for(i=1;iM;i+) if(ttijppj) ppj=ttij;程序改错1. /*- 【程序改错】-功能:求1到20的阶乘的和。-*/#include stdio.hvoid fun() int n,j; float s=0.0,t=1.0; for(n=1;n=20;n+) /*ERROR*/ s=1; for(j=1;j=n;j+) /*ERROR*/ t=t*n; /*ERROR*/ s+t=s; /*ERROR*/ printf(jiecheng=%dn,s);main() fun();2. /*- 【程序改错】-功能:编写一个函数,该函数可以统计一个长度为3的字符串在另 一个字符串中出现的次数。例如:假定输入的字符串为:asdasasdfgasdaszx67asdmklo,字符 串为:asd,则应输出n=4。-*/#include stdio.h#include string.h#include conio.hint fun(char *str,char *substr) /*ERROR*/ int i,n=0 /*ERROR*/ for(i=0;i=strlen(str);i+) if(stri=substr0)&(stri+1=substr1)&(stri+2=substr2) /*ERROR*/ +i; return n;main() char str81,substr4; int n; printf(输入主字符串: ); gets(str); printf(输入子字符串: ); gets(substr); puts(str); puts(substr); n=fun(str,substr); printf(n=%dn,n); .答案1.改错1t=1;t=1.0;改错2. t=t*j;t*=j;t=j*t;改错3. s=s+t;s+=t;s=t+s;改错4.printf(jiecheng=%fn,s);2.改错1.int i,n=0;改错2.for(i=0;i=strlen(str)-3;i+)for(i=0;istrlen(str)-2;i+)改错3.n+;n+=1;n=n+1;+n;程序填空1. /*-【程序填空】-功能:计算平均成绩并统计90分以上的人数,输入的成绩为负时程序结束。-*/#include stdio.hmain() int n,m;float grade,average; /*FILL*/ average=n=m=_; while(1) scanf(%f,&grade); /*FILL*/ if(_) break; n+; average+=grade; /*FILL*/ if(grade90)_; m+; if(n) printf(%fn%dn,average/n,m);2. /*-【程序填空】-功能:求出二维数组中的最大元素值。-*/#include stdio.h/*FILL*/int max_value(int m,int n,int _) int i,j,max; max=array00; for(i=0;im;i+) for(j=0;jn;j+) /*FILL*/ if(maxarrayij)_; return(max);main() int a3

温馨提示

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

评论

0/150

提交评论