2012计算机C语言程序设计answer

13. 编写一函数age,利用递归方法求age(int n),

递归公式如下:

0 (n=0)

age(n)= 10 (n=1) age(n-1)+2 (n>1)

int age(int n)

{ if(n==0) return 0;

else if(n==1) return 10; else if(n>1) return age(n-1)+2; } 14. 利用递归方法求fun(n,x),递归公式如下: x?1 (n=0)

fun(n,x)= 2x (n=1)

3x2fun(n?1,x)2n?1 (n>1)

float fun(int n,int x)

{ if(n==0) return x+1; else if(n==1) return 2*x;

else if(n>1) return

3*x*x*fun(n-1,x)/(2*n+1); }

main()

{ int n,x;

float result;

scanf(\ result=fun(n,x);

printf(\ }

15. 编写函数int fun(int data[],int n),功能是:

返回数组data中前n个元素的最大值 int fun(int data[],int n)

{ int i,max=data[0];

for(i=1;imax) max=data[i]; return max; }

16. 编写函数float fun(int arr[],int n),功能

是:返回数组arr中前n个元素的平均值 float fun(int arr[],int n)

{ int i;

float sum=0.0,aver;

for(i=0;i

是:将数组array中的前n个元素倒序存放 void fun(int array[],int n)

{ int i,j,temp;

i=0,j=n-1;

while(i

{ temp=array[i]; array[i]=array[j]; array[j]=temp; i++;j--; } }

18. 编写函数int fun(char s[]),功能是:返回

字符串s的长度

int fun(char s[]) { int len=0;

while(s[len]!= '\\0') len++; return len; } main()

{ char s[80]; int strlen;

printf(\ gets(s); strlen=fun(s);

printf(\19. 编写函数void fun(char s[]),功能是:将字

符串s中的大写字母转换成小写字母 void fun(char s[]) { int i;

for(i=0;s[i]!= '\\0';i++) if(s[i]>= 'A'&&s[i]<= 'Z') s[i]=s[i]+32; } main()

{ char s[80];

printf(\ gets(s); fun(s);

printf(\20. 编写函数void fun(char s[]),功能是:将字

符串s中的小写字母转换成大写字母 void fun(char s[]) { int i;

for(i=0;s[i]!= '\\0';i++) if(s[i]>= 'a'&&s[i]<= 'z') s[i]=s[i]-32; } main()

{ char s[80];

printf(\ gets(s); fun(s);

printf(\21. 编写函数void fun(char s[]),功能是:将字

符串s中的小写字母转换成下一个字母,如果是z就转换a

void fun(char s[])

{ int i;

for(i=0;s[i]!= '\\0';i++) if(s[i]>= 'a'&&s[i]<= 'y') s[i]++; else if(s[i]== 'z') s[i]= 'a'; } main()

{ char s[80];

printf(\ gets(s); fun(s);

printf(\22. 编写函数void fun(char s[]),功能是:将字

符串s中的小写字母转换成上一个字母,如果是a就转换z

void fun(char s[])

{ int i;

for(i=0;s[i]!= '\\0';i++) if(s[i]>= 'b'&&s[i]<= 'z') s[i]--; else if(s[i]== 'a') s[i]= 'z'; } main()

{ char s[80];

printf(\ gets(s); fun(s);

printf(\23. 编写函数void fun(char s[]),功能是:将字

符串s中的字符倒序存放 void fun(char s[]) { int i,j; char temp;

for(i=0,j=strlen(s)-1;i

for(i=0;ps[i]!= '\\0';i++) if(ps[i]>= '0'&&ps[i]<= '9') cnt++; { temp=s[i]; s[i]=s[j]; s[j]=temp; } } main()

{ char s[80];

printf(\ gets(s); fun(s);

printf(\}

24. 编写函数int fun(char *ps),功能是:统计

指针ps指向字符串中大写字母出现的次数,并作为函数值返回 int fun(char *ps)

{ int i,cnt=0;

for(i=0;ps[i]!= '\\0';i++) if(ps[i]>= 'A'&&ps[i]<= 'Z') cnt++; return cnt; } main() { int n;

char s[80];

printf(\input a string(s):\\n\ gets(s); n=fun(s);

printf(\

25. 编写函数int fun(char *ps),功能是:统计

指针ps指向字符串中数字字符出现的次数,并作为函数值返回 int fun(char *ps)

return cnt; }

main() { int n;

char s[80];

printf(\input a string(s):\\n\ gets(s); n=fun(s);

printf(\

26. 编写函数int fun(char s[]),功能是:判断

字符串是s否为回文,是回文返回1,否则返回0

说明:回文即一个字符串的正序和逆序完全一致,例如: level int fun(char s[])

{ int i,j,t=1;

for(i=0,j=strlen(s)-1;i

main()

{ char s[80];

printf(\ gets(s);

if(fun(s)) printf(\ else printf(\

27. 编写函数void fun(char *ps),功能是:将指

针ps所指字符串中的数字字符删除 void fun(char *ps) { int i,j=0;

for(i=0;ps[i]!= '\\0';i++) if(!(ps[i]>='0'&&ps[i]<='9')) ps[j++]=ps[i]; ps[j]= '\\0'; } 28. 编写函数void fun(char *ps),功能是:将指

针ps所指字符串中下标为偶数的大写字母转换为小写字母

void fun(char *ps)

{ int i;

for(i=0;i='A'&&ps[i]<='Z') ps[i]=ps[i]+32; }

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4