printf("%4d",a[k]);printf("\n");
}
42调用函数fun(),其功能是对10个整数按降序进行排序。
43下面程序的功能是将两个字符串连接起来,不要用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);
}
51编写带有函数的程序(函数名为fun),功能是求出ss所指字符串中指定字符的个数,并返回此值。
例如:
输入2,再输入字符1则应输出3。
#include""
intfun( )
{
}
main()
{chara[20],ch;
printf("\nPleaseenterastring:
");
gets(a);
printf("\nPleaseenterachar:
");
ch=getchar();
printf("Thenumberis:
%d\n",fun(a,ch));
}
52调用函数fun(),其功能是从字符串中删除指定的字符。
同一字母的大小写按不同字符处理。
例如:
输入字符串为:
turbocandBorlandc++
输入字符n,则输出为turbocadBorladc++。
。
53下面程序的功能是输入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此行文本。
单词是指由空格隔开的字符串。
例如:
若输入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);
}
61利用函数方法编程序:
函数fun功能是,找出100至1000之间三位数字相等的所有整数(如:
111、222、333、……),
把这些整数放在s所指数组中,个数作为函数值返回。
intfun( )
{
}
main()
{inta[50],num=0,i;
num=fun(a);
printf("\nTheresult:
");
for(i=0;iprintf("%5d",a[i]);
}
62在main函数中,先从键盘上输入一个3行3列数组的各个元素的值,调用函数fun(),其功能是按主对角线进行转置,
然后再在main函数中输出转置后的数组。
例如:
原数组为:
转置后为:
123147
456258
789369
63下面程序的功能是从字符串中删除指定的字符。
同一字母的大小写按不同字符处理。
例如:
输入字符串为:
turbocandBorlandc++
输入字符n,则输出为turbocadBorladc++。
修改该程序,要求将红色部分用一个函数来实现。
#include""
main()
{charstr[50],c;inti,j;
clrscr();
gets(str);
c=getchar();
for(i=0,j=0;str[i]!
='\0';i++)
if(str[i]!
=c)
{
str[j]=str[i];j++;
}
str[j]='\0';
printf("\nTheresult:
");
puts(str);
}
71:
编写带有函数的程序(函数名为:
intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
例如:
输入如下整数876675896101301401980431451777
则输出结果为:
6,980。
给出主函数,函数fun功能由同学完成。
main()
{inta[10]={876,675,896,101,301,401,980,431,451,777};
intk;
fun(a,10,&k);
printf("%d,%d\n",k,a[k]);
}
72:
编写带有函数的程序(函数名为:
voidfun(char*ss)),功能是将ss所指字符串中下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
例如:
输入abbcc45ghNj,则应输出aBbCc45GhNj。
73:
编写带有函数的程序(函数名为:
intfun(char*ss,charc)),功能是求出ss所指字符串中指定字符的个数,并返回此值。
例如:
输入2,再输入字符1则应输出3。
给出主函数,函数fun功能由同学完成。
#include""
#defineM81
main()
{chara[M],ch;
printf("\nPleaseenterastring:
");
gets(a);
printf("\nPleaseenterachar:
");
ch=getchar();
printf("Thenumberis:
%d\n",fun(a,ch));
}
81:
编写带有函数的程序(函数名为:
voidfun(char*ss)),功能是将ss所指字符串中下标为奇数位置上的字母转换为大写
(若该位置上不是字母,则不转换,注意下标是从右向左0开始的)。
例如:
输入abbcc45ghNj,则应输出aBbCc45GhNj。
给出主函数,函数fun功能由同学完成。
#include""
voidfun(char*ss)
{
}
main()
{chartt[81];
printf("Pleaseentercharacter:
");
gets(tt);
fun(tt);
printf("Theresultis:
%s\n",tt);
}
82:
编写带有函数的程序(函数名为:
intfun(int*b)),功能是从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,
并把这些数放在b所指的数组中,这些数的个数作为函数值返回。
结果应该是:
15455154
给出主函数,函数fun功能由同学完成。
#include<>
intfun(int*b)
{
}
main()
{inta[100],k,m;
m=fun(a);
printf("Theresultis:
\n");
for(k=0;kprintf("%4d",a[k]);printf("\n");
}
83:
编一个带有函数的程序,读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出。
例如,输入edcba,则应输出abcde.。
e
d
c
a
g
s
f
\0
\0
\0
给出主函数,函数fun功能由同学完成。
#include""
voidfun(chart[])
{
}
main()
{chars[20];
printf("\nPleaseenterastring:
");
gets(s);
fun(s);
printf("\nAfterstring:
%s",s);
}
91:
编写带有函数的程序,函数功能是求出能整除x且不是偶数的各个整数,顺序存放在pp所指的数组中,这些除数的个数通过形参返回。
例如:
若x值为30,则有4个数符合要求,是1,3,5,15。
voidfun(intx,intpp[],int*m)
{
}
main()
{intx,aa[100],n,i;
printf("Pleaseenteranumber:
\n");
scanf("%d",&x);
fun(x,aa,&n);
for(i=0;iprintf("%3d",aa[i]);
printf("\n");
}
92:
编写带有函数的程序(函数名为:
voidfun(char*ss)),功能是将ss所指字符串中下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
例如:
输入abbcc45ghNj,则应输出aBbCc45GhNj。
#include""
voidfun(char*ss)
{
}
main()
{chartt[81];
printf("Pleaseentercharacter:
");
gets(tt);
fun(tt);
printf("Theresultis:
%s\n",tt);
}
93:
编写带有函数的程序(函数名为:
intfun(int*b)),功能是从整数10到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。
If(k%3==0&&a2==5)||(k%3==0&&a1==5)
结果应该是:
15455154
intfun(int*b)
{
}
main()
{inta[100],k,m;
m=fun(a);
printf("Theresultis:
\n");
for(k=0;kprintf("%4d",a[k]);printf("\n");
}
101:
编写带有函数的程序(函数名为:
intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
例如:
输入如下整数876675896101301401980431451777
则输出结果为:
6,980。
intfun(int*s,intt,int*p)
{
}
main()
{inta[10]={876,675,896,101,301,401,980,431,451,777};
intk;
fun(a,10,&k);
printf("%d,%d\n",k,a[k]);
}
102:
编写程序,要求函数功能为:
分别统计字符串中大写和小写字母的个数。
例如输入aabbDDDhhhCCjj,结果为upper=5,lower=9.
给出主函数,函数fun功能由同学完成。
#include""
intupper,lower;
fun(chars[])
{
}
main()
{charw[100];
printf("\nPleaseastring:
");
gets(w);
fun(w);
printf("\nupper=%d;lower=%d\n",upper,lower);
}
103:
利用函数方法编程序:
函数功能是,找出100至1000之间三位数字相等的所有整数(如:
111、222、333、……),
把这些整数放在s所指数组中,个数作为函数值返回。
给出主函数,函数fun功能由同学完成。
intfun(ints[])
{
}
main()
{inta[50],num=0,i;
num=fun(a);
printf("\nTheresult:
");
for(i=0;iprintf("%5d",a[i]);
}
111:
编含有两个子函数的程序,求P的值。
其中:
p=m!
/n!
(m-n)!
(例如:
当m=6,n=3时:
p=)
解:
#include<>
longjc(intm)
{
longs=1;
returns;
}
floatfun(intm,intn)
{
floatp;
returnp;
}
main()
{
inti,j;
scanf(“%d%d”,&i,&j);
printf(“p=%f\n”,fun(i,j));
}
112:
下面函数fun的功能是:
将长整型数中偶数位置上的数依次取出,构成一个新数返回,
例如,当s中的数为:
时,则返回的数为:
8642;请填空并写出主函数使程序完整。
voidmain()
{
}
longfun(longs)
{longt,sl=1;
intd;
t=0;
while(s>0){
d=s%10;
if(d【】==0)
{
t=d*sl+t;
sl*=10;
}
s/=10;
}
return(【】);
}
113:
下面程序的功能是依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串;(如:
abcd123efg456变为123456)。
修改该程序,要求将红色部分用一个函数来实现。
#include""
main()
{chars[15];inti,j;
scanf("%s",s);
for(i=0,j=0;s[i]!
='\0';i++)
if(s[i]>='0'&&s[i]<='9')
{
s[j]=s[i];j++;
}
s[j]='\0';
printf("\nTheresult:
");
printf("%s",s);
}
121:
编一个函数,求一个字符串的长度。
在main函数中输入字符串,并输出其长度。
(不能用strlen()函数)
给出主函数,函数length()功能由同学完成。
解:
main()
{intlen;
charstr[20];
printf("Inputstring:
");
scanf("%s",str);
len=length(str);
printf("Thelengthofstringis%d.",len);
}
length(char*p)
{
}
122:
一个带有函数的程序,读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出。
请填空并写出主函数使程序完整
#include“”
voidfun(chart[])
{charc;inti,j,n;
n=【】;
for(i=0;ifor(j=i+1;jif(t[i]>t[j])
{c=t[j];t[j]=t[i];t[i]=c;}
}
main()
{chars[20];
}
123:
下面程序的功能是从字符串中删除指定的字符。
同一字母的大小写按不同字符处理。
例如:
输入字符串为:
turbocandBorlandc++
输入字符n,则输出为turbocadBorladc++。
修改该程序,要求将红色部分用一个函数来实现。
#include""
main()
{charstr[50],c;inti,j;
clrscr();
gets(str);
c=getchar();
for(i=0,j=0;str[i]!
='\0';i++)
if(str[i]!
=c)
{
str[j]=str[i];j++;
}
str[j]='\0';
printf("\nTheresult:
");
puts(str);
}