实验答案-函数

上传人:xuey****n398 文档编号:108979754 上传时间:2022-06-16 格式:DOC 页数:14 大小:74.92KB
收藏 版权申诉 举报 下载
实验答案-函数_第1页
第1页 / 共14页
实验答案-函数_第2页
第2页 / 共14页
实验答案-函数_第3页
第3页 / 共14页
资源描述:

《实验答案-函数》由会员分享,可在线阅读,更多相关《实验答案-函数(14页珍藏版)》请在装配图网上搜索。

1、1.编一个带有函数的程序。在main()函数中输入一个字符串(长度20),调用函数fun将该字符串中的所有字符按ASCII码升序排序,然后再输出排序后的字符串。例如,输入edcba,则应输出abcde.。#include #include int main()void fun(char x,int y);int i;char c20;printf(Please input chars:n);gets(c);i=strlen(c);fun(c,i);return 0;void fun(char x,int y)int i,j;char c;for(i=0;iy-1;i+)for(j=i+1;jx

2、j) c=xi; xi=xj; xj=c; puts(x);2. 下面程序的功能是依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串;(如:abcd123efg456变为123456)。修改该程序,要求将红色部分用一个函数来实现。#include stdio.hmain() char s15; int i,j; scanf(%s,s); for (i=0,j=0; si!=0; i+) if (si=0 & si=9) sj=si; j+; sj=0; printf(nThe result:); printf(%s,s); #include int main()void fun(ch

3、ar x);char s15;printf(Input chars to fill s15:n);scanf(%s,s);fun(s);return 0;void fun(char x)int i,j;for(i=0,j=0; xi!=0; i+) if(xi=0&xi=9) xj=xi; j+; xj=0;puts(x);3.编写带有函数的程序(函数名为:int fun(int s,int *k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。例如:输入如下整数876 675 896 101 301 401 980 431 451 777则输出结果为:6,980。#in

4、clude void fun(int s,int *k)int i,max=s0;for(i=1;i10;i+) if(maxsi) max=si; *k=i; int main() int a10=876,675,896,101,301,401,980,431,451,777; int k;fun(a,&k);printf(%d,%dn,k,a6);return 0;4.在main()函数中,已有一个已排好序的整型数组,今输入一个整数,调用函数fun(),其功能是按原来排序的规律将它插入数组中。例如:原来数组的元素依次为4、6、8、41、56、77、102。若将42插入数组中,则插入后数组元

5、素依次为4、6、8、41、42、56、77、89、102。#include void fun (int s,int m)int i,j;for(i=0;i+) if(sim) break;for(j=6;ji;j-) sj+1=sj;si+1=m;int main()int s8=4,6,8,41,56,77,102;int i,m;puts(Please input m:);scanf(%d,&m);fun(s,m);for(i=0;i8;i+)printf(%d ,si);putchar(n);return 0;5.下面程序的功能是将字符数组s2中的全部字符拷贝到字符数组s1中。拷贝时,0

6、也拷贝过去,但0后面的字符不拷贝。修改该程序,要求将红色部分用一个函数来实现。main() char s180,s280; int i; scanf(%s,s2); for(i=0;s2i!=0;i+) s1i=s2i; s1i=0; printf(s1:%sn,s1);#include void xp(char s1,char s2)int i;for(i=0;s2i!=0;i+) s1i=s2i;s1i=0;int main()char s180,s280;puts(Input chars of s2:);gets(s2);xp(s1,s2);printf(s1:%sn,s1);retur

7、n 0;6.编写带有函数的程序(函数名为:fun()),功能是将ss所指字符串中下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换,注意下标是从0开始的)。例如:输入abbcc45ghNj,则应输出aBbCc45GhNj。#include void fun(char x)int i;for(i=1;xi!=0;i=i+2)if(xia&xiz)xi=xi-32;int main()char ss80;puts(Input chars to fill ss:);gets(ss);fun(ss);puts(ss);return 0;7.在main()函数中,先从键盘上输入一个3行3列整

8、型数组的各个元素的值,然后调用函数fun(),其功能是计算并返回主对角线元素之和。#include int fun(int a3)int i,j,s=0;for(i=0;i3;i+)for(j=0;j3;j+)if(i=j) s=s+aij;return s;int main()int i,j,k,a33;puts(Input 9 numbers to fill a33:);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);k=fun(a);printf(主对角线之和=%d,k);return 0;8.下面程序的功能是用冒泡法对10个整数按降序进行排序。修改

9、该程序,要求将红色部分用一个函数来实现。main() int a11,i,j,t; printf(Input 10 numbers:n); for(i=1;i11;i+) scanf(%d,&ai); printf(n); for(j=1;j=9;j+) for(i=1;i=10-j;i+) if(aiai+1) t=ai; ai=ai+1; ai+1=t; printf(The sorted numbers:n); for(i=1;i11;i+)printf(%d ,ai);#include void fun(int a)int i,j,t;for(j=1;j=9;j+) for(i=1;i

10、=10-j;i+) if(aiai+1) t=ai; ai=ai+1; ai+1=t; int main()int a11,i;printf(Input 10 numbers:n);for(i=1;i11;i+) scanf(%d,&ai); printf(n);fun(a);printf(The sorted numbers:n);for(i=1;i11;i+) printf(%d ,ai);putchar(n);return 0;9. 编写带有函数的程序(函数名为:int fun()),功能是从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些

11、数的个数作为函数值返回。结果应该是:15 45 51 54#include int fun(int b)int i,j=0;for(i=1;i=55;i+)if(i%3=0) if(i/10=5|i%10=5) bj=i; j+; return j;int main()int a100,k,m;m=fun(a);printf(The result is:n);for(k=0;km;k+) printf(%4d,ak);printf(n);return 0;10. 下面程序的功能是将两个字符串连接起来,不要用strcat函数。修改该程序,要求将红色部分用一个函数来实现。main() char s

12、180,s280; int i=0,j; scanf(%s,s1); scanf(“%s”,s2); while(s1i!=0) i+; for(j=0; s2j!=0;) s1i+=s2j+; s1i=0;printf(s1:%sn,s1);#include void xp(char s1,char s2)int i=0,j;while(s1i!=0) i+;for(j=0; s2j!=0;) s1i+=s2j+;s1i=0;int main()char s180,s280;puts(Input chars to fill s1:);gets(s1);puts(Input chars to

13、fill s2:);gets(s2);xp(s1,s2);puts(s1);return 0;11. 编写带有函数的程序(函数名为fun),功能是求出ss所指字符串中指定字符的个数,并返回此值。例如:输入123412132,再输入字符1则应输出3。#include int fun(char a,char ch)int i,x=0;for(i=0;ai!=0;i+)if(ai=ch) x+;return x;int main()char a20,ch;printf(Please enter a string:n);gets(a);printf(Please enter a char:n);ch=

14、getchar();printf(The char %c has appeared %d times!n,ch,fun(a,ch);return 0;12. 调用函数fun(),其功能是从字符串中删除指定的字符。同一字母的大小写按不同字符处理。例如:输入字符串为: turbo c and Borland c+输入字符n,则输出为turbo c ad Borlad c+。#include void fun(char c,char x)int i,j=0;for(i=0;ci!=0;i+)if(ci!=x) cj=ci; j+; cj=0;int main()char x,c80;puts(Inp

15、ut chars to fill c:);gets(c);puts(Input the char x:);scanf(%c,&x);fun(c,x);puts(c);return 0;13.在main函数中,先从键盘上输入一个3行3列数组的各个元素的值,调用函数fun(),其功能是按主对角线进行转置,然后再在main函数中输出转置后的数组。 例如:原数组为: 转置后为:1 2 3 1 4 74 5 6 2 5 87 8 9 3 6 9 #include void fun(int a3)int i,j,t;for(i=0;i3;i+)for(j=0;j3;j+)if(ij) t=aij; aij

16、=aji; aji=t; int main()int i,j,a33;puts(Input 9 words to fill a33:);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);fun(a);puts(a33 turns to:);for(i=0;i3;i+)for(j=0;j3;j+)printf(%d ,aij);putchar(n);return 0;14.利用函数方法编程序:函数fun功能是,找出100至1000之间三位数字相等的所有整数(如:111、222、333、),把这些整数放在s所指数组中,个数作为函数值返回。#include int

17、 fun(int a)int i,j=0;for(i=100;i=1000;i+)if(i%10=i%100/10&i%10=i/100) aj=i; j+; return j;int main()int a50,num=0,i;num=fun(a);printf(The result:n);for(i=0;i=a&stri=z?stri-32:stri; printf(n); puts(str);#includevoid xp(char c)int i,k;if(c0=a&c0=a&ci=z?ci-32:ci; printf(n); int main() char c80;puts(Inpu

18、t chars to fill c:);gets(c);xp(c);puts(c);return 0;16.编写带有函数的程序(函数名为:int fun(int *s,int t,int *k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。#include int fun(int *s,int t,int *k)int i,max;for(i=0;it;i+)if(maxsi)max=si;*k=i;return *k;int main()int s10=1,7,2,3,5,9,6,8,4,0;int k;fun(s,10,&k);printf(k=%dn,k);ret

19、urn 0;17.编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。例如:若x值为30,则有4个数符合要求,是1,3,5,15。#include void fun(int x,int pp,int *n)int i,j=0;for(i=1;i=x;i+)if(x%i=0&i%2!=0)ppj=i;j+;*n=j;int main()int x,aa100,n,i;printf(Please enter a number:n);scanf(%d,&x);fun(x,aa,&n);for(i=0;in;i+) printf(%-3d,aai);printf(n);return 0;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!