已阅读5页,还剩266页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、程序填空题 请补充函数fun(),该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是:1,1,1,2,2,2,3,4,4,5,5,6,6,7,7,8,9,9,10,10。删除后,数组中的内容应该是:1,2,3,4,5,6,7,8,9,10。#include#define N 80int fun(int a,int n) int i, t,j=0; t=a0; for(i=1;in;i+) if( _ ) ; else _ ; t=ai; aj+=t; return j;main() int aN=1,1,2,2,2,3,4,4,5,5,6,6,6,7,7,8,9,9,10,10,i,n=20; printf(The original data:n); for(i=0;in; i+) printf(%4d,ai); n=fun(a,n); printf(nnThe data after deleted n); for(i=0;in;i+) printf(%4d,ai); printf(n); 程序修改题 下列给定程序中,函数fun()的功能是:实现两个整数的交换。例如给a和b分别输入60和65,输出为:a=65 b=60请改正程序中的错误,使它能得出正确的结果。#include#include /*found*/void fun(int a,b) int t;/*found*/ t=b;b=a;a=t;main() int a,b; printf(Enter a, b: ); scanf(%d%d,&a,&b); fun(&a, &b); printf(a=%d b=%dn , a,b); 程序设计题 下列程序定义了NN的二维数组,并在主函数中自动赋值。请编写函数fun(int aN, int n),该函数的功能是:使数字右上半三角元素中的值乘以m。例如,若m的值为2,a数组中的值为a=1 9 2 7则返回主程序后a数组的值应为 2 18 2 14#include#include#include#define N 5int fun(int aN, int m) int i,j; for(i=0;iN;i+) _ _ main() int aNN,m, i, j; printf(*The array*n); for(i=0;iN;i+) for(j=0;j=3); printf(m=%4dn,m); fun(a,m); printf(THE RESULTn); for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d,aij); printf(n); 【参考答案】程序填空题:第8行 t=ai【 ai=t 】 第12行 aj+=t 程序修改题:第4行 *a,int 第4行 *b) 第7行 t=*b;*b=*a;*a=t; 程序设计题:第9行 for(j=i;jN;j+) 第10行 aij=aij*m;【 aij*=m; aij=m*aij; 】 二、程序填空题 请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。例如,当str1=“cdefghij”,则str2=“cegi”。#include#include#define LEN 80main() char str1LEN,str2LEN; char *p1=str1,*p2=str2; int i=0,j=0; printf(Enter the string:n); scanf( _ ); printf(*the origial string*n); while(*(p1+j) printf( _ ,*(p1+j); j+; for(i=0;ij;i+=2) *p2+=*(str1+i); *p2=0; printf(nThe new string is:%sn, _ ); 程序修改题 下列给定的程序中,函数fun()的功能是:计算并输出k以内最大的6个能被7或11整除的自然数之和。K的值由主函数传入,若k的值为500,则函数的值为2925。请改正程序中的错误,使它能得到正确结果。#include#include int fun(int k) int m=0,mc=0, j;/*found*/ while(k=2)&(mc6) /*found*/ if(k%7=0)|(k%11=0) /*found*/ m=k; mc+; k-; return m;main() printf(%dn ,fun(500); 程序设计题 请编一个函数 float fun(double h),函数的功能是对变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。例如:若h 值为8.32433,则函数返回8.32;若h值为8.32533,则函数返回8.33。#include #include float fun (float h ) long t; _ _main() float a; printf(Enter a: ); scanf (%f,&a); printf(The original data is : ); printf(%fnn, a); printf(The result : %fn, fun(a);【参考答案】程序填空题:第10行 %s,str1 第14行 %c 第20行 str2 程序修改题:第7行 while(k=2)&(mc6) 第10行 if(k%7=0)|(k%11=0) 第13行 m=m+k;【 m+=k; 】 程序设计题:第6行 t=(h*1000+5)/10;【 t=(5+h*1000)/10; 】 第7行 return 第7行 (float)t/100;【 t/100.0; 】 三、程序填空题 请补充main函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存原来的字符串中。例如:当strN=“123 abcdef ABCDEF!”,结果输出:“123 ABCDEF ABCDEF!”。#include#include#include#define N 80void main() int j; char strN= 123abcdef ABCDEF!; char *pf=str; printf(*original string *n); puts(str); _ ; while(*(pf+j) if(*(pf+j)=a&*(pf+j)=z)*(pf+j)= _ ;j+;else_ ; printf(*new string*n); puts(str); 程序修改题 下列给定程序中,函数fun()的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。请改正程序中的错误,使它能得出正确的结果。#include #include int fun( int m) int i,k; for (i=m+1; ;i+) for (k=2;ki;k+)/*found*/ if(i%k!=0) break;/*found*/ if(ki) return(i); main() int n; printf(nPlease enter n: ); scanf(%d,&n); printf (%dn,fun(n); 程序设计题 请编写一个函数fun(),它的功能是:找出一维数组元素中最大的值和它所在的下标,最大值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。#include#includevoid fun(int a,int n, int *max, int *d) int i; *max=a0; *d=0; for(i=0;in;i+) if(*maxai) _ _ _main() int i, x20, max, index, n=10; randomize(); for(i=0;i=i) 程序设计题:第11行 *max=ai; 第12行 *d=i; 第13行 四、程序填空题 请补充main函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。例如,输入“abcdef”,指定字符为e,则输出“abcd”。#include #define N 80main() int i=0; char strN; char ch; printf(n Input a string:n); gets(str); printf(n Input a charator;n); scanf(%c, &ch); while(stri!=0) if(stri=ch) _ _ ; stri= _ ; printf(n* display string *n); puts(str); 程序修改题 假如整数数列中的数不重复,并存放在数组中。下列给定的程序中,函数fun()的功能是:删除数列中值为X的元素。N中存放的是数列中元素的个数。请改正程序中的错误,使它能够得出正确的结果。#include#define N 20fun (int *a,int n,int x)int p=0,i; an=x; while (x!=ap) p=p+1; if(p=n) return -1; else for (i=p;in;i+)/*found*/ ai+1=ai; return n-1; main()int wN=-3,0,1,5,7,99,10,15,30,90,x,n,i; n=10; printf(The original data :n); for (i=0;in;i+) printf(%5d,wi); printf(nInput x (to delete ): ); scanf(%d,&x); printf(Delete : %dn,x); n=fun(w,n,x); if (n=-1) printf(*No be found!*nn); else printf(The data after deleted:n); for (i=0;in;i+) printf(%5d,wi);printf(nn); 程序设计题 编写函数fun(),它的功能是:计算和输出下列级数的和。S=1/(12)+1/(23)+1/(n(n+1)例如,当n=10时,函数值为0.909091。#include#includedouble fun(int n) int i; double s=0.0; for(i=1;i=n;i+) _ _main() printf(%fn,fun(10);【参考答案】程序填空题:第15行 break; 第16行 i+【 +i i+=1 i=i+1 】 第18行 0【 0 】 程序修改题:第12行 ai=ai+1; 程序设计题:第8行 s=s+1.0/(i*(i+1);【 s+=1.0/(i*(i+1); 】 第9行 return 第9行 s; 五、 程序填空题 请补充函数fun(),它的功能是:计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和。例如,在主函数中从键盘给n输入32后,输出为:s=1.226323。#includedouble fun(int n) int i; double sum=0.0; if(n0&n=100) for(i=1; _ ;i+) if( _ ) sum+= _ ; return sum;main() int n; double s; printf(nInput n:); scanf(%d,&n); s=fun(n); printf(nns=%fn,s); 程序修改题 下列给定程序中,函数fun()的功能是:将m(1m10)个字符串连接起来,组成一个新串,放入pt所指字符串中,例如:把3个串abc,CD,EF串联起来,结果是abcCDEF。请改正程序中的错误,使它能得出正确的结果。#include #include #include /*found*/int fun(char str10,int m,char *pt) int k,q,i,j=0; for(k=0;km;k+) q=strlen(strk); j+=q; for(i=0;iq;i+)/*found*/ pti=strk,i; pt+=q; pt0=0; pt-=j;main() int m, h; char s1010,p120; printf(nPlease enter m: ); scanf(%d,&m); gets(s0); printf(nPlease enter %d string:n ,m); for(h=0;hm;h+) gets(sh); fun(s,m,p); printf(nThe result is :%sn ,p); 程序设计题 请编写一个函数fun(),它的功能是:根据以下公式求的值(要求满足精度0.0005,即某项小于0.0005时停止迭代)。/2=1+1/3+1*2/(3*5)+1*2*3/(3*5*7)+1*2*3*4/(3*5*7*9)+1*2*3*n/(3*5*7*(2n+1)程序运行后,如果输入精度0.0005,则程序输出3.141106。#include#includedouble fun(double eps) double s=1.0,s1=1.0; int n=1; while(s1=eps) s1=s1*n/(2*n+1); s=s+s1; _ _ _main() double x; printf(Input eps: ); scanf(%lf,&x); printf(neps=%lf,PI=%lfn,x,fun(x);【参考答案】程序填空题:第8行 i=i 】 第9行 i%3=0|i%7=0【 i%7=0|i%3=0 (i%7=0)|(i%3=0) (i%3=0)|(i%7=0) 】 第10行 1.0/i【 1/(double)i 1/(float)i (double)1/i (float)1/i 】 程序修改题:第5行 void 第12行 pti=strki; 程序设计题:第11行 n+; 第12行 第13行 return 第13行 2*s;【 s*2; 】 六、 程序填空题 请补充main函数,该函数的功能是:从字符串str中取出所有数字字符,并分别计数,然后把结果保存在数组b中并输出,把其他字符保存在b10中。例如:当str1=“ab123456789cde090”时,结果为:0:2 1:1 2:1 3:1 4:1 5:1 6:1 7:1 8:1 9:2 other character:5 #include#includemain() int i,b11; char *str=ab123456789cde090; char *p=str; printf(* the origial data *n); puts(str); for(i=0;i11;i+) bi=0; while(*p) switch( _ ) case 0:b0+;break; case 1:b1+;break; case 2:b2+;break; case 3:b3+;break; case 4:b4+;break; case 5:b5+;break; case 6:b6+;break; case 7:b7+;break; case 8:b8+;break; case 9:b9+;break; _ _ printf(* the result *n); for(i=0;i10;i+) printf(n%d:%d,i,bi); printf(nother character:%d,bi); 程序修改题 下列给定程序中,函数fun()的功能是:根据以下公式求的值,并作为函数值返回。例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。/2=1+1/3+1/3*2/5+1/3*2/5*3/7+1/3*2/5*3/7*4/9请改正程序中的错误,使它能得出正确的结果。#include #include #include double fun(double eps)double s,t; int n=1; s=0.0;/*found*/ t=1;/*found*/ while(teps) s+=t; t=t*n/(2*n+1); n+; /*found*/ return s;main() double x; printf(nPlease enter a precision: ); scanf(%lf,&x); printf(nPi=%1fn ,fun(x); 程序设计题 请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为F(0)0,F(1)1 F(n)=F(n-1)+F(n-2)例如:t=1000时 ,函数值为987。#include #include #include int fun(int t) int a=1,b=1,c=0,i; do c=a+b; a=b; b=c; while(c=eps) 第16行 s*2;【 2*s 】 程序设计题:第13行 c=a; 第14行 return 第14行 c; 七、程序填空题 数组str全由大小写字母字符组成。请补充函数fun(),该函数的功能是:把str中的字母转换成紧接着的下一个字母,如果原来的字母为z或Z,则相应地转换成a或A,结果仍保存在原数组中。例如,输入“StudentZz”,则输出“TuvefouAa”。 #include #define N 80void fun(char s) int i; for(i=0; _ ; i+) if(si=z|si=Z) si-= _ ; else si+= _ ; main() char strN; printf(n Input a string:n); gets(str); printf(n* original string *n); puts(str); fun(str); printf(n* new string *n); puts (str); 程序修改题 下列给定程序中,函数fun()的功能是:在字符串str中找出ASC码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。例如,调用fun()函数之前给字符串输入ABCDeFGH,调用后字符串中的内容为eABCDFGH。请改正程序中的错误,使它能得出正确的结果。#include/*found*/fun(char *p) char max, *q;int i=0; max=pi; while (pi!=0) if (maxpi) /*found*/ p=q+i; max=pi; i+; /*found*/ while(qp) *q=*(q-1); q-; p0=max;main() char str80; printf(Enter a string: ); gets(str); printf(nThe original string: ); puts(str); fun(str); printf(nThe string after moving: ); puts(str); printf(nn); 程序设计题 请编写函数fun(),对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII值码升序排列。 例如:原来的字符串为BdsihAd,则排序后输出为BAdhisd。#include #include #include int fun(char *s, int num) char t; int i, j; for(i=1;inum-2;i+) for(j=i+1;jsj) _ _ _ _ main() char s10; printf(输入7个字符的字符串:); gets(s); fun(s,7); printf(n%s,s);【参考答案】程序填空题:第6行 si!=0【 si si!=0 】 第9行 25 第11行 1 程序修改题:第3行 void 第10行 q=p+i; 第16行 while(qp)【 while(pq) 】 程序设计题:第12行 t=si; 第13行 si=sj; 第14行 sj=t; 第15行 八、程序填空题 从键盘输入一组小写字母,并保存在字符数组str中。请补充函数fun(),该函数的功能是:把字符数组str中ASCII码为奇数的小写字母转换成对应的大写字母,结果仍保存在原数组中。例如,输入“abcdefg”,输出“AbCdEfG”。#include #define N 80void fun (char s) int i; for( _ ; _ ; i+) if( _ ) si-=32; main() char strN; printf(n Input a string:n); gets(str); printf(n* original string *n); puts (str); fun(str); printf(n* new string *n); puts(str); 程序修改题 下列给定的程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。请改正程序中的错误,使它能得出正确的结果。#include#define N 20void fun(int a,int n)int i,j,t,p; for(j=0;jn-1;j+) /*found*/ p=j for(i=j;in;i+) if(aiap) /*found*/ p=j; t=ap; ap=aj; aj=t; main()int aN=9,6,8,3,-1,i,m=5; printf(before sorted:); for(i=0;im;i+) printf(%d,ai);printf(n); fun(a,m); printf(after sorted:); for(i=0;im;i+) printf(%d,ai); printf(n); 程序设计题 编写程序,实现矩阵(3行3列)的转置(即行列互换)。例如,若输入下面的矩阵:100 200 300400 500 600700 800 900则程序输出:100 400 700200 500 800300 600 900#include #include int fun (int array33) int i,j,t; for(i=0;i3;i+) for(j=i+1;j3;j+) _ _ _ _ main() int i,j; int array 33=100,200,300,400,500,600,700,800,900; for (i=0;i3;i+) for (j=0;j3;j+) printf(%7d ,arrayij); printf(n ); fun(array); printf(Converted array:n ); for (i=0;i3;i+) for (j=0;j3;j+) printf(%7d ,arrayij); printf(n ); 【参考答案】程序填空题:第6行 i=0 第6行 si!=0【 si si!=0 】 第8行 si%2!=0【 si%2=1 si%2 】 程序修改题:第8行 p=j; 第12行 p=i; 程序设计题:第9行 t=arrayij;【 t=arrayji; 】 第10行 arrayij=arrayji;【 arrayji=arrayij; 】 第11行 arrayji=t;【 arrayij=t; 】 第12行 九、程序填空题 请补充函数fun(),该函数的功能是:按行统计维矩阵元素中的最大值(均为整数),并把这些值按从小到大的顺序保存在数组b中。矩阵的维数在主函数中输入,并赋予随机数。#include#include#include#define N 20void fun(int aN,int b,int n) int i,j; int t; for(i=0;in;i+) for(j=0;jn;j+) if( _ ) bi=aij; for(i=0;in;i+) for(j=0;jn;j+) if( _ ) t=bi; bi=bj; bj=t; main() int aNN; int bN; int n; int i,j; printf(*Input the dimension of array N*n); scanf(%d,&n); printf(*The array *n); for(i=0;in;i+) for(j=0;jn;j+) aij=rand()%20; while(aij=0) aij=rand()%30; printf(%4d,aij); printf(nn); for(i=0;in;i+) bi=0; fun(a,b,n); printf(* THE RESULT *n); for(i=0;in;i+) printf( %d ,bi); 程序修改题 下列给定程序中,函数fun()的功能是:利用插入排序法对字符串中的字符按从大到小的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入到前两个字符中,插入后前3个字符依然有序;再把第4个字符插入到前3个字符中,待排序的字符串已在主函数中赋予。请改正程序中的错误,使它能得到正确结果。#include #include #define N 80void insert(char *aa) int i, j, n; char ch; n=strlen(aa); for(i=1;i=0)|(chaaj) aaj+1=aaj; j-; /*found*/ aaj=ch; main() char aN= JRTYDFKLIOPQWEGHMNBVCUASXZ; int i; printf(The original string: %sn,a); insert(a); printf(The string after sorting: %snn,a); 程序设计题 请编写函数fun(),它的功能是计算:s=(1-ln(1)-ln(2)-ln(3)-ln(m)的平方s作为函数值返回。在C语言中可调用log(n)函数求ln(n)。log函数的引用说明是double log(double x)。例如,若m的值为15,则fun()函数值为723.570801。#include #include #include double fun(int m) int i; double s=1.0; for(i=1;i=m;i+) _ _main() printf(%fn ,fun(15);【参考答案】程序填空题:第11行 bibi 】 第16行 bibi 】 程序修改题:第13行 while(j=0)&(chaaj) 第19行 aaj+1=ch; 程序设计题:第9行 s=s-log(i);【 s-=log
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南空港规划设计有限公司第二批社会招聘6人笔试历年参考题库附带答案详解
- 2025江西南昌市西湖城市建设投资发展集团有限公司及下属子公司招聘笔试历年参考题库附带答案详解
- 注聚工安全意识强化知识考核试卷含答案
- 2025山东东营金茂铝业高科技有限公司招聘22人笔试历年参考题库附带答案详解
- 水产蛋白提炼工岗前技能竞赛考核试卷含答案
- 丙烯酸树脂装置操作工操作水平强化考核试卷含答案
- 印染丝光工安全培训效果强化考核试卷含答案
- 2025东方电气先进材料科技(四川)有限公司社会招聘拟录用情况笔试历年参考题库附带答案详解
- 2025年四川省巴中市南江县保安员招聘考试题库附答案解析
- 中国电信2024年燎原计划AI专业考试含答案
- 植物生产类专业职业生涯规划书
- 中国胃食管反流病诊疗规范(2023版)解读
- 小学英语-I am a robot教学课件设计
- 高中学生学籍表模板(范本)
- 膳食营养指导和疾病预防(卢世琰)课件
- 办公楼建筑能源管理平台技术方案书
- 河南省铭玮昊化工科技有限公司年产1000吨溴硝醇、100吨磺酰胺、200吨叔丁酯项目环境影响报告书
- 灭火器检查记录表模板实用文档
- 《赢利 未来10年的经营能力》读书笔记PPT模板思维导图下载
- 2023年成都交子金融控股集团有限公司招聘考试备考题库及答案解析
- YS/T 337-2009硫精矿
评论
0/150
提交评论