gets(a); fun(a,b); puts(b); }
13.函数void fun(char s[])的功能是:将s所指字符串中ASCII值为奇数的字符删
除。例如,若s所指字符串中的内容为:“ABCDEFG12345”,其中字符A的ASCII码值为奇数、?、字符1的ASCII码值也为奇数、?都应当删除,其它依此类推。最后s中内容是:“BDF24”。 #include
void main() {char a[80]; gets(a); fun(a); puts(a); }
14.请编写一个函数int fun(long int x),它的功能是:判断整数x是否是同构数。
若是同构数,函数返回1;否则返回0。所谓“同构数”是指这样的数,它出现在它的平方数的右边。例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数,输出\。要求x的值不大于10000。 #include
void main() {int x;
scanf(\ if(fun(x)==1) puts(\ else puts(\}
15.编写取子字符串函数void fun(char s1[],char s2[],int m,int n),其作用是将
字符数组s2中从第m个字符开始的共n个字符拷贝到数组s1中;若s2中剩余字符不足n个,则取到尾部。程序运行时,当输入\、4,3时应输出\;当我们输入\、4,6时应输出\。注意,这里是将1作为起始计数。 #include
void fun(char s1[],char s2[],int m,int n)
6
{ }
void main()
{static char a[100],b[100]; int s,len;
void fun(char s1[],char s2[],int m,int n); puts(\ gets(a);
puts(\ scanf(\ fun(b,a,s,len);
printf(\}
16. 编写函数void fun(char *str),将参数字符串中各单词首字母变大写,其余字
母变小写。输入输出在main中实现。如输入\输出\。单词以空格、逗号、句号分隔。 #include
void main() {char a[100]; gets(a); fun(a); puts(a); }
17. n个整数,前面各数循环顺序后移m个位置,最后m个数变成最前面m个数。写函
数void fun(int *p,int n,int m),实现上述功能。在main()中输入与输出。如下面程序输出 7 8 9 10 1 2 3 4 5 6 。注意,m可能大于n。 #include \
void fun(int *p,int n,int m) { }
void main()
{void fun(int *,int ,int );
int x[10]={1,2,3,4,5,6,7,8,9,10},i; fun(x,10,14); for(i=0;i<10;i++) printf(\
7
printf(\ }
18. 编写函数void fun(char *s1,char *s2),实现字符串s1与s2的交叉连接,连接
后得到的新字符串放在s1中。如输入abc
void fun(char *s1,char *s2) { }
void main()
{char a[100],b[100];
void fun(char *,char *); gets(a); gets(b); fun(a,b); puts(a); }
19. 传说可以根据两个人的生日来计算其缘分.方法:将两个人的生日各位相加,将得
到的数再一次各位相加,直到其值为一个一位数,此数即代表两个人的缘分.例如,两个生日为:19820523,19841111,则各位相加:1+9+8+2+5+2+3+1+9+8+4+1+1+1+1得:56;再5+6得11;再 1+1得2,即为两人的缘分.编写计算缘分程序,两个生日由键盘输入.
#include \int fun(long x,long y) { }
void main() {long x,y; int k;
scanf(\k=fun(x,y);
printf(\}
20. m个人围成一圈,1,2,3循环报数,报到3的人退出,并将退出的序号依次存到数
组p中,包括最后一个人的序号。到最后只余1人,输出最后留下的是第几号(最初的序号,以1起始)。若m=6,则输出n=1
8
起始序号,并将退出的序号顺序写入p指向的数组中。 #include
int fun(int n ,int *p) { }
void main()
{int m,a[10000],i,num; scanf(\ num= fun(m,a);
printf(\ for(i=0;i printf(\ printf(\} 9