实验答案函数.docx
《实验答案函数.docx》由会员分享,可在线阅读,更多相关《实验答案函数.docx(16页珍藏版)》请在冰豆网上搜索。
实验答案函数
实验答案--函数
1.编一个带有函数的程序。
在main()函数中输入一个字符串(长度<20),调用函数fun将该字符串中的所有字符按ASCII码升序排序,然后再输出排序后的字符串。
例如,输入edcba,则应输出abcde.。
#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;ifor(j=i+1;jif(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。#includevoidfun(ints[],intm){inti,j;for(i=0;;i++)if(s[i]m)break;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);}#includevoidxp(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。#includevoidfun(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(),其功能是计算并返回主对角线元素之和。#includeintfun(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++)if(a[i]{t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("Thesortednumbers:\n");for(i=1;i<11;i++)printf("%d",a[i]);}#includevoidfun(inta[]){inti,j,t;for(j=1;j<=9;j++)for(i=1;i<=10-j;i++)if(a[i]{t=a[i];a[i]=a[i+1];a[i+1]=t;}}intmain(){inta[11],i;printf("Input10numbers:\n");for(i=1;i<11;i++)scanf("%d",&a[i]);printf("\n");fun(a);printf("Thesortednumbers:\n");for(i=1;i<11;i++)printf("%d",a[i]);putchar('\n');return0;} 9.编写带有函数的程序(函数名为:intfun()),功能是从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。结果应该是:15455154#includeintfun(intb[]){inti,j=0;for(i=1;i<=55;i++)if(i%3==0)if(i/10==5||i%10==5){b[j]=i;j++;}returnj;}intmain(){inta[100],k,m;m=fun(a);printf("Theresultis:\n");for(k=0;kprintf("%4d",a[k]);printf("\n");return0;} 10.下面程序的功能是将两个字符串连接起来,不要用strcat函数。修改该程序,要求将红色部分用一个函数来实现。main(){chars1[80],s2[80];inti=0,j;scanf("%s",s1);scanf(“%s”,s2);while(s1[i]!=’\0’)i++;for(j=0;s2[j]!=’\0’;)s1[i++]=s2[j++];s1[i]=’\0’;printf("s1:%s\n",s1);}#includevoidxp(chars1[],chars2[]){inti=0,j;while(s1[i]!='\0')i++;for(j=0;s2[j]!='\0';)s1[i++]=s2[j++];s1[i]='\0';}intmain(){chars1[80],s2[80];puts("Inputcharstofills1[]:");gets(s1);puts("Inputcharstofills2[]:");gets(s2);xp(s1,s2);puts(s1);return0;} 11.编写带有函数的程序(函数名为fun),功能是求出ss所指字符串中指定字符的个数,并返回此值。例如:输入123412132,再输入字符1则应输出3。#includeintfun(chara[],charch){inti,x=0;for(i=0;a[i]!='\0';i++)if(a[i]==ch)x++;returnx;}intmain(){chara[20],ch;printf("Pleaseenterastring:\n");gets(a);printf("Pleaseenterachar:\n");ch=getchar();printf("Thechar\"%c\"hasappeared%dtimes!\n",ch,fun(a,ch));return0;}12.调用函数fun(),其功能是从字符串中删除指定的字符。同一字母的大小写按不同字符处理。例如:输入字符串为:turbocandBorlandc++输入字符n,则输出为turbocadBorladc++。#includevoidfun(charc[],charx){inti,j=0;for(i=0;c[i]!='\0';i++)if(c[i]!=x){c[j]=c[i];j++;}c[j]='\0';}intmain(){charx,c[80];puts("Inputcharstofillc[]:");gets(c);puts("Inputthecharx:");scanf("%c",&x);fun(c,x);puts(c);return0;}13.在main函数中,先从键盘上输入一个3行3列数组的各个元素的值,调用函数fun(),其功能是按主对角线进行转置,然后再在main函数中输出转置后的数组。例如:原数组为:转置后为:123147456258789369#includevoidfun(inta[][3]){inti,j,t;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}}intmain(){inti,j,a[3][3];puts("Input9wordstofilla[3][3]:");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);fun(a);puts("a[3][3]turnsto:");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d",a[i][j]);putchar('\n');}return0;} 14.利用函数方法编程序:函数fun功能是,找出100至1000之间三位数字相等的所有整数(如:111、222、333、……),把这些整数放在s所指数组中,个数作为函数值返回。#includeintfun(inta[]){inti,j=0;for(i=100;i<=1000;i++)if(i%10==i%100/10&&i%10==i/100){a[j]=i;j++;}returnj;}intmain(){inta[50],num=0,i;num=fun(a);printf("Theresult:\n");for(i=0;iprintf("%-5d",a[i]);return0;} 15.下面程序的功能是输入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此行文本。单词是指由空格隔开的字符串。例如:若输入iamastudent,则删除IAmAStudent修改该程序,要求将红色部分用一个函数来实现。main(){charstr[30];inti,j,k=0,x,len;clrscr();gets(str);len=strlen(str);for(i=0;str[i]!=’\0’;i++)if(k){if(str[i]==’’)k=0;}elseif(str[i]!=’’){k=1;str[i]=str[i]>=’a’&&str[i]<=’z’?str[i]-32:str[i];}printf("\n");puts(str);} #includevoidxp(charc[]){inti,k;if(c[0]>='a'&&c[0]<='z')c[0]=c[0]-32;for(i=0;c[i]!='\0';i++)if(k){if(c[i]=='')k=0;}elseif(c[i]!=''){k=1;c[i]=c[i]>='a'&&c[i]<='z'?c[i]-32:c[i];}printf("\n");}intmain(){charc[80];puts("Inputcharstofillc[]:");gets(c);xp(c);puts(c);return0;}16.编写带有函数的程序(函数名为:intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。#includeintfun(int*s,intt,int*k){inti,max;for(i=0;iif(max{max=s[i];*k=i;}return*k;}intmain(){ints[10]={1,7,2,3,5,9,6,8,4,0};intk;fun(s,10,&k);printf("k=%d\n",k);return0;}17.编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。例如:若x值为30,则有4个数符合要求,是1,3,5,15。#includevoidfun(intx,intpp[],int*n){inti,j=0;for(i=1;i<=x;i++)if(x%i==0&&i%2!=0){pp[j]=i;j++;}*n=j;}intmain(){intx,aa[100],n,i;printf("Pleaseenteranumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;iprintf("%-3d",aa[i]);printf("\n");return0;}
for(j=i+1;jif(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。#includevoidfun(ints[],intm){inti,j;for(i=0;;i++)if(s[i]m)break;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);}#includevoidxp(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。#includevoidfun(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(),其功能是计算并返回主对角线元素之和。#includeintfun(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++)if(a[i]{t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("Thesortednumbers:\n");for(i=1;i<11;i++)printf("%d",a[i]);}#includevoidfun(inta[]){inti,j,t;for(j=1;j<=9;j++)for(i=1;i<=10-j;i++)if(a[i]{t=a[i];a[i]=a[i+1];a[i+1]=t;}}intmain(){inta[11],i;printf("Input10numbers:\n");for(i=1;i<11;i++)scanf("%d",&a[i]);printf("\n");fun(a);printf("Thesortednumbers:\n");for(i=1;i<11;i++)printf("%d",a[i]);putchar('\n');return0;} 9.编写带有函数的程序(函数名为:intfun()),功能是从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。结果应该是:15455154#includeintfun(intb[]){inti,j=0;for(i=1;i<=55;i++)if(i%3==0)if(i/10==5||i%10==5){b[j]=i;j++;}returnj;}intmain(){inta[100],k,m;m=fun(a);printf("Theresultis:\n");for(k=0;kprintf("%4d",a[k]);printf("\n");return0;} 10.下面程序的功能是将两个字符串连接起来,不要用strcat函数。修改该程序,要求将红色部分用一个函数来实现。main(){chars1[80],s2[80];inti=0,j;scanf("%s",s1);scanf(“%s”,s2);while(s1[i]!=’\0’)i++;for(j=0;s2[j]!=’\0’;)s1[i++]=s2[j++];s1[i]=’\0’;printf("s1:%s\n",s1);}#includevoidxp(chars1[],chars2[]){inti=0,j;while(s1[i]!='\0')i++;for(j=0;s2[j]!='\0';)s1[i++]=s2[j++];s1[i]='\0';}intmain(){chars1[80],s2[80];puts("Inputcharstofills1[]:");gets(s1);puts("Inputcharstofills2[]:");gets(s2);xp(s1,s2);puts(s1);return0;} 11.编写带有函数的程序(函数名为fun),功能是求出ss所指字符串中指定字符的个数,并返回此值。例如:输入123412132,再输入字符1则应输出3。#includeintfun(chara[],charch){inti,x=0;for(i=0;a[i]!='\0';i++)if(a[i]==ch)x++;returnx;}intmain(){chara[20],ch;printf("Pleaseenterastring:\n");gets(a);printf("Pleaseenterachar:\n");ch=getchar();printf("Thechar\"%c\"hasappeared%dtimes!\n",ch,fun(a,ch));return0;}12.调用函数fun(),其功能是从字符串中删除指定的字符。同一字母的大小写按不同字符处理。例如:输入字符串为:turbocandBorlandc++输入字符n,则输出为turbocadBorladc++。#includevoidfun(charc[],charx){inti,j=0;for(i=0;c[i]!='\0';i++)if(c[i]!=x){c[j]=c[i];j++;}c[j]='\0';}intmain(){charx,c[80];puts("Inputcharstofillc[]:");gets(c);puts("Inputthecharx:");scanf("%c",&x);fun(c,x);puts(c);return0;}13.在main函数中,先从键盘上输入一个3行3列数组的各个元素的值,调用函数fun(),其功能是按主对角线进行转置,然后再在main函数中输出转置后的数组。例如:原数组为:转置后为:123147456258789369#includevoidfun(inta[][3]){inti,j,t;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}}intmain(){inti,j,a[3][3];puts("Input9wordstofilla[3][3]:");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);fun(a);puts("a[3][3]turnsto:");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d",a[i][j]);putchar('\n');}return0;} 14.利用函数方法编程序:函数fun功能是,找出100至1000之间三位数字相等的所有整数(如:111、222、333、……),把这些整数放在s所指数组中,个数作为函数值返回。#includeintfun(inta[]){inti,j=0;for(i=100;i<=1000;i++)if(i%10==i%100/10&&i%10==i/100){a[j]=i;j++;}returnj;}intmain(){inta[50],num=0,i;num=fun(a);printf("Theresult:\n");for(i=0;iprintf("%-5d",a[i]);return0;} 15.下面程序的功能是输入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此行文本。单词是指由空格隔开的字符串。例如:若输入iamastudent,则删除IAmAStudent修改该程序,要求将红色部分用一个函数来实现。main(){charstr[30];inti,j,k=0,x,len;clrscr();gets(str);len=strlen(str);for(i=0;str[i]!=’\0’;i++)if(k){if(str[i]==’’)k=0;}elseif(str[i]!=’’){k=1;str[i]=str[i]>=’a’&&str[i]<=’z’?str[i]-32:str[i];}printf("\n");puts(str);} #includevoidxp(charc[]){inti,k;if(c[0]>='a'&&c[0]<='z')c[0]=c[0]-32;for(i=0;c[i]!='\0';i++)if(k){if(c[i]=='')k=0;}elseif(c[i]!=''){k=1;c[i]=c[i]>='a'&&c[i]<='z'?c[i]-32:c[i];}printf("\n");}intmain(){charc[80];puts("Inputcharstofillc[]:");gets(c);xp(c);puts(c);return0;}16.编写带有函数的程序(函数名为:intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。#includeintfun(int*s,intt,int*k){inti,max;for(i=0;iif(max{max=s[i];*k=i;}return*k;}intmain(){ints[10]={1,7,2,3,5,9,6,8,4,0};intk;fun(s,10,&k);printf("k=%d\n",k);return0;}17.编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。例如:若x值为30,则有4个数符合要求,是1,3,5,15。#includevoidfun(intx,intpp[],int*n){inti,j=0;for(i=1;i<=x;i++)if(x%i==0&&i%2!=0){pp[j]=i;j++;}*n=j;}intmain(){intx,aa[100],n,i;printf("Pleaseenteranumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;iprintf("%-3d",aa[i]);printf("\n");return0;}
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。
voidfun(ints[],intm)
for(i=0;;i++)
if(s[i]m)break;
for(j=6;j>i;j--)
s[j+1]=s[j];
s[i+1]=m;
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');
5.下面程序的功能是将字符数组s2中的全部字符拷贝到字符数组s1中。
拷贝时,’\0’也拷贝过去,但’\0’后面的字符不拷贝。
修改该程序,要求将红色部分用一个函数来实现。
main()
chars1[80],s2[80];
scanf("%s",s2);
for(i=0;s2[i]!
=’\0’;i++)
s1[i]=s2[i];
s1[i]=’\0’;
printf("s1:
%s\n",s1);
voidxp(chars1[],chars2[])
='\0';i++)
s1[i]='\0';
puts("Inputcharsofs2[]:
gets(s2);
xp(s1,s2);
6.编写带有函数的程序(函数名为:
fun()),功能是将ss所指字符串中下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换,注意下标是从0开始的)。
输入abbcc45ghNj,则应输出aBbCc45GhNj。
voidfun(charx[])
for(i=1;x[i]!
='\0';i=i+2)
if(x[i]>'a'&&x[i]<'z')
x[i]=x[i]-32;
charss[80];
puts("Inputcharstofillss[]:
gets(ss);
fun(ss);
puts(ss);
7.在main()函数中,先从键盘上输入一个3行3列整型数组的各个元素的值,然后调用函数fun(),其功能是计算并返回主对角线元素之和。
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;
inti,j,k,a[3][3];
puts("Input9numberstofilla[3][3]:
scanf("%d",&a[i][j]);
k=fun(a);
printf("主对角线之和=%d",k);
8.下面程序的功能是用冒泡法对10个整数按降序进行排序。
{inta[11],i,j,t;
printf("Input10numbers:
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++)
if(a[i]{t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("Thesortednumbers:\n");for(i=1;i<11;i++)printf("%d",a[i]);}#includevoidfun(inta[]){inti,j,t;for(j=1;j<=9;j++)for(i=1;i<=10-j;i++)if(a[i]{t=a[i];a[i]=a[i+1];a[i+1]=t;}}intmain(){inta[11],i;printf("Input10numbers:\n");for(i=1;i<11;i++)scanf("%d",&a[i]);printf("\n");fun(a);printf("Thesortednumbers:\n");for(i=1;i<11;i++)printf("%d",a[i]);putchar('\n');return0;} 9.编写带有函数的程序(函数名为:intfun()),功能是从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。结果应该是:15455154#includeintfun(intb[]){inti,j=0;for(i=1;i<=55;i++)if(i%3==0)if(i/10==5||i%10==5){b[j]=i;j++;}returnj;}intmain(){inta[100],k,m;m=fun(a);printf("Theresultis:\n");for(k=0;kprintf("%4d",a[k]);printf("\n");return0;} 10.下面程序的功能是将两个字符串连接起来,不要用strcat函数。修改该程序,要求将红色部分用一个函数来实现。main(){chars1[80],s2[80];inti=0,j;scanf("%s",s1);scanf(“%s”,s2);while(s1[i]!=’\0’)i++;for(j=0;s2[j]!=’\0’;)s1[i++]=s2[j++];s1[i]=’\0’;printf("s1:%s\n",s1);}#includevoidxp(chars1[],chars2[]){inti=0,j;while(s1[i]!='\0')i++;for(j=0;s2[j]!='\0';)s1[i++]=s2[j++];s1[i]='\0';}intmain(){chars1[80],s2[80];puts("Inputcharstofills1[]:");gets(s1);puts("Inputcharstofills2[]:");gets(s2);xp(s1,s2);puts(s1);return0;} 11.编写带有函数的程序(函数名为fun),功能是求出ss所指字符串中指定字符的个数,并返回此值。例如:输入123412132,再输入字符1则应输出3。#includeintfun(chara[],charch){inti,x=0;for(i=0;a[i]!='\0';i++)if(a[i]==ch)x++;returnx;}intmain(){chara[20],ch;printf("Pleaseenterastring:\n");gets(a);printf("Pleaseenterachar:\n");ch=getchar();printf("Thechar\"%c\"hasappeared%dtimes!\n",ch,fun(a,ch));return0;}12.调用函数fun(),其功能是从字符串中删除指定的字符。同一字母的大小写按不同字符处理。例如:输入字符串为:turbocandBorlandc++输入字符n,则输出为turbocadBorladc++。#includevoidfun(charc[],charx){inti,j=0;for(i=0;c[i]!='\0';i++)if(c[i]!=x){c[j]=c[i];j++;}c[j]='\0';}intmain(){charx,c[80];puts("Inputcharstofillc[]:");gets(c);puts("Inputthecharx:");scanf("%c",&x);fun(c,x);puts(c);return0;}13.在main函数中,先从键盘上输入一个3行3列数组的各个元素的值,调用函数fun(),其功能是按主对角线进行转置,然后再在main函数中输出转置后的数组。例如:原数组为:转置后为:123147456258789369#includevoidfun(inta[][3]){inti,j,t;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}}intmain(){inti,j,a[3][3];puts("Input9wordstofilla[3][3]:");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);fun(a);puts("a[3][3]turnsto:");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d",a[i][j]);putchar('\n');}return0;} 14.利用函数方法编程序:函数fun功能是,找出100至1000之间三位数字相等的所有整数(如:111、222、333、……),把这些整数放在s所指数组中,个数作为函数值返回。#includeintfun(inta[]){inti,j=0;for(i=100;i<=1000;i++)if(i%10==i%100/10&&i%10==i/100){a[j]=i;j++;}returnj;}intmain(){inta[50],num=0,i;num=fun(a);printf("Theresult:\n");for(i=0;iprintf("%-5d",a[i]);return0;} 15.下面程序的功能是输入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此行文本。单词是指由空格隔开的字符串。例如:若输入iamastudent,则删除IAmAStudent修改该程序,要求将红色部分用一个函数来实现。main(){charstr[30];inti,j,k=0,x,len;clrscr();gets(str);len=strlen(str);for(i=0;str[i]!=’\0’;i++)if(k){if(str[i]==’’)k=0;}elseif(str[i]!=’’){k=1;str[i]=str[i]>=’a’&&str[i]<=’z’?str[i]-32:str[i];}printf("\n");puts(str);} #includevoidxp(charc[]){inti,k;if(c[0]>='a'&&c[0]<='z')c[0]=c[0]-32;for(i=0;c[i]!='\0';i++)if(k){if(c[i]=='')k=0;}elseif(c[i]!=''){k=1;c[i]=c[i]>='a'&&c[i]<='z'?c[i]-32:c[i];}printf("\n");}intmain(){charc[80];puts("Inputcharstofillc[]:");gets(c);xp(c);puts(c);return0;}16.编写带有函数的程序(函数名为:intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。#includeintfun(int*s,intt,int*k){inti,max;for(i=0;iif(max{max=s[i];*k=i;}return*k;}intmain(){ints[10]={1,7,2,3,5,9,6,8,4,0};intk;fun(s,10,&k);printf("k=%d\n",k);return0;}17.编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。例如:若x值为30,则有4个数符合要求,是1,3,5,15。#includevoidfun(intx,intpp[],int*n){inti,j=0;for(i=1;i<=x;i++)if(x%i==0&&i%2!=0){pp[j]=i;j++;}*n=j;}intmain(){intx,aa[100],n,i;printf("Pleaseenteranumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;iprintf("%-3d",aa[i]);printf("\n");return0;}
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("Thesortednumbers:
printf("%d",a[i]);
voidfun(inta[])
inti,j,t;
if(a[i]{t=a[i];a[i]=a[i+1];a[i+1]=t;}}intmain(){inta[11],i;printf("Input10numbers:\n");for(i=1;i<11;i++)scanf("%d",&a[i]);printf("\n");fun(a);printf("Thesortednumbers:\n");for(i=1;i<11;i++)printf("%d",a[i]);putchar('\n');return0;} 9.编写带有函数的程序(函数名为:intfun()),功能是从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。结果应该是:15455154#includeintfun(intb[]){inti,j=0;for(i=1;i<=55;i++)if(i%3==0)if(i/10==5||i%10==5){b[j]=i;j++;}returnj;}intmain(){inta[100],k,m;m=fun(a);printf("Theresultis:\n");for(k=0;kprintf("%4d",a[k]);printf("\n");return0;} 10.下面程序的功能是将两个字符串连接起来,不要用strcat函数。修改该程序,要求将红色部分用一个函数来实现。main(){chars1[80],s2[80];inti=0,j;scanf("%s",s1);scanf(“%s”,s2);while(s1[i]!=’\0’)i++;for(j=0;s2[j]!=’\0’;)s1[i++]=s2[j++];s1[i]=’\0’;printf("s1:%s\n",s1);}#includevoidxp(chars1[],chars2[]){inti=0,j;while(s1[i]!='\0')i++;for(j=0;s2[j]!='\0';)s1[i++]=s2[j++];s1[i]='\0';}intmain(){chars1[80],s2[80];puts("Inputcharstofills1[]:");gets(s1);puts("Inputcharstofills2[]:");gets(s2);xp(s1,s2);puts(s1);return0;} 11.编写带有函数的程序(函数名为fun),功能是求出ss所指字符串中指定字符的个数,并返回此值。例如:输入123412132,再输入字符1则应输出3。#includeintfun(chara[],charch){inti,x=0;for(i=0;a[i]!='\0';i++)if(a[i]==ch)x++;returnx;}intmain(){chara[20],ch;printf("Pleaseenterastring:\n");gets(a);printf("Pleaseenterachar:\n");ch=getchar();printf("Thechar\"%c\"hasappeared%dtimes!\n",ch,fun(a,ch));return0;}12.调用函数fun(),其功能是从字符串中删除指定的字符。同一字母的大小写按不同字符处理。例如:输入字符串为:turbocandBorlandc++输入字符n,则输出为turbocadBorladc++。#includevoidfun(charc[],charx){inti,j=0;for(i=0;c[i]!='\0';i++)if(c[i]!=x){c[j]=c[i];j++;}c[j]='\0';}intmain(){charx,c[80];puts("Inputcharstofillc[]:");gets(c);puts("Inputthecharx:");scanf("%c",&x);fun(c,x);puts(c);return0;}13.在main函数中,先从键盘上输入一个3行3列数组的各个元素的值,调用函数fun(),其功能是按主对角线进行转置,然后再在main函数中输出转置后的数组。例如:原数组为:转置后为:123147456258789369#includevoidfun(inta[][3]){inti,j,t;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}}intmain(){inti,j,a[3][3];puts("Input9wordstofilla[3][3]:");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);fun(a);puts("a[3][3]turnsto:");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d",a[i][j]);putchar('\n');}return0;} 14.利用函数方法编程序:函数fun功能是,找出100至1000之间三位数字相等的所有整数(如:111、222、333、……),把这些整数放在s所指数组中,个数作为函数值返回。#includeintfun(inta[]){inti,j=0;for(i=100;i<=1000;i++)if(i%10==i%100/10&&i%10==i/100){a[j]=i;j++;}returnj;}intmain(){inta[50],num=0,i;num=fun(a);printf("Theresult:\n");for(i=0;iprintf("%-5d",a[i]);return0;} 15.下面程序的功能是输入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此行文本。单词是指由空格隔开的字符串。例如:若输入iamastudent,则删除IAmAStudent修改该程序,要求将红色部分用一个函数来实现。main(){charstr[30];inti,j,k=0,x,len;clrscr();gets(str);len=strlen(str);for(i=0;str[i]!=’\0’;i++)if(k){if(str[i]==’’)k=0;}elseif(str[i]!=’’){k=1;str[i]=str[i]>=’a’&&str[i]<=’z’?str[i]-32:str[i];}printf("\n");puts(str);} #includevoidxp(charc[]){inti,k;if(c[0]>='a'&&c[0]<='z')c[0]=c[0]-32;for(i=0;c[i]!='\0';i++)if(k){if(c[i]=='')k=0;}elseif(c[i]!=''){k=1;c[i]=c[i]>='a'&&c[i]<='z'?c[i]-32:c[i];}printf("\n");}intmain(){charc[80];puts("Inputcharstofillc[]:");gets(c);xp(c);puts(c);return0;}16.编写带有函数的程序(函数名为:intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。#includeintfun(int*s,intt,int*k){inti,max;for(i=0;iif(max{max=s[i];*k=i;}return*k;}intmain(){ints[10]={1,7,2,3,5,9,6,8,4,0};intk;fun(s,10,&k);printf("k=%d\n",k);return0;}17.编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。例如:若x值为30,则有4个数符合要求,是1,3,5,15。#includevoidfun(intx,intpp[],int*n){inti,j=0;for(i=1;i<=x;i++)if(x%i==0&&i%2!=0){pp[j]=i;j++;}*n=j;}intmain(){intx,aa[100],n,i;printf("Pleaseenteranumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;iprintf("%-3d",aa[i]);printf("\n");return0;}
inta[11],i;
fun(a);
9.编写带有函数的程序(函数名为:
intfun()),功能是从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。
结果应该是:
15455154
intfun(intb[])
inti,j=0;
for(i=1;i<=55;i++)
if(i%3==0)
if(i/10==5||i%10==5)
{b[j]=i;j++;}
returnj;
inta[100],k,m;
m=fun(a);
printf("Theresultis:
for(k=0;kprintf("%4d",a[k]);printf("\n");return0;} 10.下面程序的功能是将两个字符串连接起来,不要用strcat函数。修改该程序,要求将红色部分用一个函数来实现。main(){chars1[80],s2[80];inti=0,j;scanf("%s",s1);scanf(“%s”,s2);while(s1[i]!=’\0’)i++;for(j=0;s2[j]!=’\0’;)s1[i++]=s2[j++];s1[i]=’\0’;printf("s1:%s\n",s1);}#includevoidxp(chars1[],chars2[]){inti=0,j;while(s1[i]!='\0')i++;for(j=0;s2[j]!='\0';)s1[i++]=s2[j++];s1[i]='\0';}intmain(){chars1[80],s2[80];puts("Inputcharstofills1[]:");gets(s1);puts("Inputcharstofills2[]:");gets(s2);xp(s1,s2);puts(s1);return0;} 11.编写带有函数的程序(函数名为fun),功能是求出ss所指字符串中指定字符的个数,并返回此值。例如:输入123412132,再输入字符1则应输出3。#includeintfun(chara[],charch){inti,x=0;for(i=0;a[i]!='\0';i++)if(a[i]==ch)x++;returnx;}intmain(){chara[20],ch;printf("Pleaseenterastring:\n");gets(a);printf("Pleaseenterachar:\n");ch=getchar();printf("Thechar\"%c\"hasappeared%dtimes!\n",ch,fun(a,ch));return0;}12.调用函数fun(),其功能是从字符串中删除指定的字符。同一字母的大小写按不同字符处理。例如:输入字符串为:turbocandBorlandc++输入字符n,则输出为turbocadBorladc++。#includevoidfun(charc[],charx){inti,j=0;for(i=0;c[i]!='\0';i++)if(c[i]!=x){c[j]=c[i];j++;}c[j]='\0';}intmain(){charx,c[80];puts("Inputcharstofillc[]:");gets(c);puts("Inputthecharx:");scanf("%c",&x);fun(c,x);puts(c);return0;}13.在main函数中,先从键盘上输入一个3行3列数组的各个元素的值,调用函数fun(),其功能是按主对角线进行转置,然后再在main函数中输出转置后的数组。例如:原数组为:转置后为:123147456258789369#includevoidfun(inta[][3]){inti,j,t;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}}intmain(){inti,j,a[3][3];puts("Input9wordstofilla[3][3]:");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);fun(a);puts("a[3][3]turnsto:");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d",a[i][j]);putchar('\n');}return0;} 14.利用函数方法编程序:函数fun功能是,找出100至1000之间三位数字相等的所有整数(如:111、222、333、……),把这些整数放在s所指数组中,个数作为函数值返回。#includeintfun(inta[]){inti,j=0;for(i=100;i<=1000;i++)if(i%10==i%100/10&&i%10==i/100){a[j]=i;j++;}returnj;}intmain(){inta[50],num=0,i;num=fun(a);printf("Theresult:\n");for(i=0;iprintf("%-5d",a[i]);return0;} 15.下面程序的功能是输入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此行文本。单词是指由空格隔开的字符串。例如:若输入iamastudent,则删除IAmAStudent修改该程序,要求将红色部分用一个函数来实现。main(){charstr[30];inti,j,k=0,x,len;clrscr();gets(str);len=strlen(str);for(i=0;str[i]!=’\0’;i++)if(k){if(str[i]==’’)k=0;}elseif(str[i]!=’’){k=1;str[i]=str[i]>=’a’&&str[i]<=’z’?str[i]-32:str[i];}printf("\n");puts(str);} #includevoidxp(charc[]){inti,k;if(c[0]>='a'&&c[0]<='z')c[0]=c[0]-32;for(i=0;c[i]!='\0';i++)if(k){if(c[i]=='')k=0;}elseif(c[i]!=''){k=1;c[i]=c[i]>='a'&&c[i]<='z'?c[i]-32:c[i];}printf("\n");}intmain(){charc[80];puts("Inputcharstofillc[]:");gets(c);xp(c);puts(c);return0;}16.编写带有函数的程序(函数名为:intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。#includeintfun(int*s,intt,int*k){inti,max;for(i=0;iif(max{max=s[i];*k=i;}return*k;}intmain(){ints[10]={1,7,2,3,5,9,6,8,4,0};intk;fun(s,10,&k);printf("k=%d\n",k);return0;}17.编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。例如:若x值为30,则有4个数符合要求,是1,3,5,15。#includevoidfun(intx,intpp[],int*n){inti,j=0;for(i=1;i<=x;i++)if(x%i==0&&i%2!=0){pp[j]=i;j++;}*n=j;}intmain(){intx,aa[100],n,i;printf("Pleaseenteranumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;iprintf("%-3d",aa[i]);printf("\n");return0;}
printf("%4d",a[k]);
10.下面程序的功能是将两个字符串连接起来,不要用strcat函数。
inti=0,j;
scanf("%s",s1);
scanf(“%s”,s2);
while(s1[i]!
=’\0’)i++;
for(j=0;s2[j]!
=’\0’;)
s1[i++]=s2[j++];
='\0')
i++;
='\0';)
puts("Inputcharstofills1[]:
gets(s1);
puts("Inputcharstofills2[]:
puts(s1);
11.编写带有函数的程序(函数名为fun),功能是求出ss所指字符串中指定字符的个数,并返回此值。
输入123412132,再输入字符1则应输出3。
intfun(chara[],charch)
inti,x=0;
for(i=0;a[i]!
if(a[i]==ch)x++;
returnx;
chara[20],ch;
printf("Pleaseenterastring:
gets(a);
printf("Pleaseenterachar:
ch=getchar();
printf("Thechar\"%c\"hasappeared%dtimes!
\n",ch,fun(a,ch));
12.调用函数fun(),其功能是从字符串中删除指定的字符。
同一字母的大小写按不同字符处理。
输入字符串为:
turbocandBorlandc++
输入字符n,则输出为turbocadBorladc++。
voidfun(charc[],charx)
for(i=0;c[i]!
if(c[i]!
=x)
{c[j]=c[i];j++;}
c[j]='\0';
charx,c[80];
puts("Inputcharstofillc[]:
puts("Inputthecharx:
scanf("%c",&x);
fun(c,x);
puts(c);
13.在main函数中,先从键盘上输入一个3行3列数组的各个元素的值,调用函数fun(),其功能是按主对角线进行转置,
然后再在main函数中输出转置后的数组。
原数组为:
转置后为:
123147
456258
789369
voidfun(inta[][3])
if(i{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}}intmain(){inti,j,a[3][3];puts("Input9wordstofilla[3][3]:");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);fun(a);puts("a[3][3]turnsto:");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d",a[i][j]);putchar('\n');}return0;} 14.利用函数方法编程序:函数fun功能是,找出100至1000之间三位数字相等的所有整数(如:111、222、333、……),把这些整数放在s所指数组中,个数作为函数值返回。#includeintfun(inta[]){inti,j=0;for(i=100;i<=1000;i++)if(i%10==i%100/10&&i%10==i/100){a[j]=i;j++;}returnj;}intmain(){inta[50],num=0,i;num=fun(a);printf("Theresult:\n");for(i=0;iprintf("%-5d",a[i]);return0;} 15.下面程序的功能是输入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此行文本。单词是指由空格隔开的字符串。例如:若输入iamastudent,则删除IAmAStudent修改该程序,要求将红色部分用一个函数来实现。main(){charstr[30];inti,j,k=0,x,len;clrscr();gets(str);len=strlen(str);for(i=0;str[i]!=’\0’;i++)if(k){if(str[i]==’’)k=0;}elseif(str[i]!=’’){k=1;str[i]=str[i]>=’a’&&str[i]<=’z’?str[i]-32:str[i];}printf("\n");puts(str);} #includevoidxp(charc[]){inti,k;if(c[0]>='a'&&c[0]<='z')c[0]=c[0]-32;for(i=0;c[i]!='\0';i++)if(k){if(c[i]=='')k=0;}elseif(c[i]!=''){k=1;c[i]=c[i]>='a'&&c[i]<='z'?c[i]-32:c[i];}printf("\n");}intmain(){charc[80];puts("Inputcharstofillc[]:");gets(c);xp(c);puts(c);return0;}16.编写带有函数的程序(函数名为:intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。#includeintfun(int*s,intt,int*k){inti,max;for(i=0;iif(max{max=s[i];*k=i;}return*k;}intmain(){ints[10]={1,7,2,3,5,9,6,8,4,0};intk;fun(s,10,&k);printf("k=%d\n",k);return0;}17.编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。例如:若x值为30,则有4个数符合要求,是1,3,5,15。#includevoidfun(intx,intpp[],int*n){inti,j=0;for(i=1;i<=x;i++)if(x%i==0&&i%2!=0){pp[j]=i;j++;}*n=j;}intmain(){intx,aa[100],n,i;printf("Pleaseenteranumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;iprintf("%-3d",aa[i]);printf("\n");return0;}
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
inti,j,a[3][3];
puts("Input9wordstofilla[3][3]:
puts("a[3][3]turnsto:
printf("%d",a[i][j]);
14.利用函数方法编程序:
函数fun功能是,找出100至1000之间三位数字相等的所有整数(如:
111、222、333、……),把这些整数放在s所指数组中,个数作为函数值返回。
intfun(inta[])
for(i=100;i<=1000;i++)
if(i%10==i%100/10&&i%10==i/100)
{a[j]=i;j++;}
inta[50],num=0,i;
num=fun(a);
printf("Theresult:
for(i=0;iprintf("%-5d",a[i]);return0;} 15.下面程序的功能是输入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此行文本。单词是指由空格隔开的字符串。例如:若输入iamastudent,则删除IAmAStudent修改该程序,要求将红色部分用一个函数来实现。main(){charstr[30];inti,j,k=0,x,len;clrscr();gets(str);len=strlen(str);for(i=0;str[i]!=’\0’;i++)if(k){if(str[i]==’’)k=0;}elseif(str[i]!=’’){k=1;str[i]=str[i]>=’a’&&str[i]<=’z’?str[i]-32:str[i];}printf("\n");puts(str);} #includevoidxp(charc[]){inti,k;if(c[0]>='a'&&c[0]<='z')c[0]=c[0]-32;for(i=0;c[i]!='\0';i++)if(k){if(c[i]=='')k=0;}elseif(c[i]!=''){k=1;c[i]=c[i]>='a'&&c[i]<='z'?c[i]-32:c[i];}printf("\n");}intmain(){charc[80];puts("Inputcharstofillc[]:");gets(c);xp(c);puts(c);return0;}16.编写带有函数的程序(函数名为:intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。#includeintfun(int*s,intt,int*k){inti,max;for(i=0;iif(max{max=s[i];*k=i;}return*k;}intmain(){ints[10]={1,7,2,3,5,9,6,8,4,0};intk;fun(s,10,&k);printf("k=%d\n",k);return0;}17.编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。例如:若x值为30,则有4个数符合要求,是1,3,5,15。#includevoidfun(intx,intpp[],int*n){inti,j=0;for(i=1;i<=x;i++)if(x%i==0&&i%2!=0){pp[j]=i;j++;}*n=j;}intmain(){intx,aa[100],n,i;printf("Pleaseenteranumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;iprintf("%-3d",aa[i]);printf("\n");return0;}
printf("%-5d",a[i]);
15.下面程序的功能是输入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此行文本。
单词是指由空格隔开的字符串。
例如:
若输入iamastudent,则删除IAmAStudent
{charstr[30];
inti,j,k=0,x,len;
clrscr();
gets(str);
len=strlen(str);
for(i=0;str[i]!
if(k)
{if(str[i]==’’)k=0;}
elseif(str[i]!
=’’)
{k=1;str[i]=str[i]>=’a’&&str[i]<=’z’?
str[i]-32:
str[i];}
puts(str);
voidxp(charc[])
inti,k;
if(c[0]>='a'&&c[0]<='z')
c[0]=c[0]-32;
{if(c[i]=='')k=0;}
elseif(c[i]!
='')
{k=1;c[i]=c[i]>='a'&&c[i]<='z'?
c[i]-32:
c[i];}
charc[80];
xp(c);
16.编写带有函数的程序(函数名为:
intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
intfun(int*s,intt,int*k)
inti,max;
for(i=0;iif(max{max=s[i];*k=i;}return*k;}intmain(){ints[10]={1,7,2,3,5,9,6,8,4,0};intk;fun(s,10,&k);printf("k=%d\n",k);return0;}17.编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。例如:若x值为30,则有4个数符合要求,是1,3,5,15。#includevoidfun(intx,intpp[],int*n){inti,j=0;for(i=1;i<=x;i++)if(x%i==0&&i%2!=0){pp[j]=i;j++;}*n=j;}intmain(){intx,aa[100],n,i;printf("Pleaseenteranumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;iprintf("%-3d",aa[i]);printf("\n");return0;}
if(max
{max=s[i];*k=i;}
return*k;
ints[10]={1,7,2,3,5,9,6,8,4,0};
intk;
fun(s,10,&k);
printf("k=%d\n",k);
17.编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。
若x值为30,则有4个数符合要求,是1,3,5,15。
voidfun(intx,intpp[],int*n)
for(i=1;i<=x;i++)
if(x%i==0&&i%2!
=0)
{pp[j]=i;j++;}
*n=j;
intx,aa[100],n,i;
printf("Pleaseenteranumber:
scanf("%d",&x);
fun(x,aa,&n);
for(i=0;iprintf("%-3d",aa[i]);printf("\n");return0;}
printf("%-3d",aa[i]);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1