实验答案函数.docx
- 文档编号:5373733
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:16
- 大小:39.99KB
实验答案函数.docx
《实验答案函数.docx》由会员分享,可在线阅读,更多相关《实验答案函数.docx(16页珍藏版)》请在冰豆网上搜索。
实验答案函数
实验答案--函数
1.编一个带有函数的程序。
在main()函数中输入一个字符串(长度<20),调用函数fun将该字符串中的所有字符按ASCII码升序排序,然后再输出排序后的字符串。
例如,输入edcba,则应输出abcde.。
#include
#include
intmain()
{
voidfun(charx[],inty);
inti;
charc[20];
printf("Pleaseinputchars:
\n");
gets(c);
i=strlen(c);
fun(c,i);
return0;
}
voidfun(charx[],inty)
{
inti,j;
charc;
for(i=0;i for(j=i+1;j if(x[i]>x[j]) {c=x[i];x[i]=x[j];x[j]=c;} puts(x); } 4.在main()函数中,已有一个已排好序的整型数组,今输入一个整数,调用函数fun(),其功能是按原来排序的规律将它插入数组中。 例如: 原来数组的元素依次为4、6、8、41、56、77、102。 若将42插入数组中,则插入后数组元素依次为4、6、8、41、42、56、77、89、102。 #include voidfun(ints[],intm) { inti,j; for(i=0;;i++) if(s[i] for(j=6;j>i;j--) s[j+1]=s[j]; s[i+1]=m; } intmain() { ints[8]={4,6,8,41,56,77,102}; inti,m; puts("Pleaseinputm: "); scanf("%d",&m); fun(s,m); for(i=0;i<8;i++) printf("%d",s[i]); putchar('\n'); return0; } 5.下面程序的功能是将字符数组s2中的全部字符拷贝到字符数组s1中。 拷贝时,’\0’也拷贝过去,但’\0’后面的字符不拷贝。 修改该程序,要求将红色部分用一个函数来实现。 main() { chars1[80],s2[80]; inti; scanf("%s",s2); for(i=0;s2[i]! =’\0’;i++) s1[i]=s2[i]; s1[i]=’\0’; printf("s1: %s\n",s1); } #include voidxp(chars1[],chars2[]) { inti; for(i=0;s2[i]! ='\0';i++) s1[i]=s2[i]; s1[i]='\0'; } intmain() { chars1[80],s2[80]; puts("Inputcharsofs2[]: "); gets(s2); xp(s1,s2); printf("s1: %s\n",s1); return0; } 6.编写带有函数的程序(函数名为: fun()),功能是将ss所指字符串中下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换,注意下标是从0开始的)。 例如: 输入abbcc45ghNj,则应输出aBbCc45GhNj。 #include voidfun(charx[]) { inti; for(i=1;x[i]! ='\0';i=i+2) if(x[i]>'a'&&x[i]<'z') x[i]=x[i]-32; } intmain() { charss[80]; puts("Inputcharstofillss[]: "); gets(ss); fun(ss); puts(ss); return0; } 7.在main()函数中,先从键盘上输入一个3行3列整型数组的各个元素的值,然后调用函数fun(),其功能是计算并返回主对角线元素之和。 #include intfun(inta[][3]) { inti,j,s=0; for(i=0;i<3;i++) for(j=0;j<3;j++) if(i==j)s=s+a[i][j]; returns; } intmain() { inti,j,k,a[3][3]; puts("Input9numberstofilla[3][3]: "); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); k=fun(a); printf("主对角线之和=%d",k); return0; } 8.下面程序的功能是用冒泡法对10个整数按降序进行排序。 修改该程序,要求将红色部分用一个函数来实现。 main() {inta[11],i,j,t; printf("Input10numbers: \n"); for(i=1;i<11;i++) scanf("%d",&a[i]); printf("\n"); for(j=1;j<=9;j++) for(i=1;i<=10-j;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 答案 函数