//1.使用可变参数列表实现任意个数求平均值。 /* #include<stdio.h> #include<stdarg.h> int average(int data,...)//可变参数列表 函数名(类型+形参名(几个参数),...) { int sum=0; int i=0; va_list avr;//avr可随意起va_list arg; va_start(avr,data);//va_start(arg,data); for(i=0;i<data;i++) { sum+=va_arg(avr,int);//va_arg(arg,int); } va_end(avr);//va_end(arg); return (float)sum/data; } int main() { int value=0; value=average(4,2,3,4,5); printf("平均数为:%d\n",value); return 0; }*/ //2.使用可变参数列表实现print("s\tc\n","bit-tech",‘w‘); /*#include<stdio.h> #include<stdarg.h> void print(char *p,...) { char ch; va_list arg; va_start(arg,p); while(*p!=‘\0‘) { ch=*p; if(ch==‘s‘) puts(va_arg(arg,char *)); else if(ch==‘\t‘) putchar(ch); else if(ch==‘c‘) putchar(va_arg(arg,char)); else if(ch==‘\n‘) putchar(ch); p++; } va_end(arg); } int main() { print("s\tc\n","bit-tech",‘w‘); return 0; }*/ //3.编写递归函数,函数应该和下面的函数原型匹配:int hermite(int n, int x) Hn(x)={n<=0:1;n=1:2x;n>=2:2*x*Hn(n-1,x)-2*(n-1)*Hn(n-2,x);} /*#include<stdio.h> int hermite(int n,int x) { if(n<=0) return 1; else if(n==1) return 2*x; else return 2*x*hermite(n-1,x)-2*(n-1)*hermite(n-2,x); } int main() { int n=0; int x=0; int ret=0; printf("请输入n和x的值"); scanf("%d%d",&n,&x); ret=hermite(n,x); printf("ret=%d\n",ret); return 0; } */ //4.编写一个函数实现n^k,使用递归实现 /*#include<stdio.h> int sf(int n,int k) { if(k==0) return 1; else if(k>0) { k--; return n*sf(n,k); } } int main() { int n=0; int k=0; int ret=0; printf("请输入n和k的值\n"); scanf("%d%d",&n,&k); ret=sf(n,k); printf("%d的%d次方 :%d\n",n,k,ret); return 0; }*/ //5. 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19 /*#include<stdio.h> int DigitSum(int value) { int sum=value%10; value/=10; if(value>0) { sum+=DigitSum(value); } return sum; } int main() { int value=0; int ret=0; printf("请输入一个非负整数"); scanf("%d",&value); ret=DigitSum(value); printf("ret=%d\n",ret); return 0; }*/ //6. 编写一个函数reverse_string(char * string)(递归实现) //实现:将参数字符串中的字符反向排列。 //要求:不能使用C函数库中的字符串操作函数。 /*#include<stdio.h> #include<string.h> void reverse_string(char *s) { if(*s!=‘\0‘) { int len=strlen(s); char ch=s[0]; s[0]=s[len-1]; s[len-1]=‘\0‘; reverse_string(s+1); s[len-1]=ch; } } int main() { char arr[20]="jxlzr"; reverse_string(arr); printf("%s\n",arr); }*/
本文出自 “小止” 博客,请务必保留此出处http://10541556.blog.51cto.com/10531556/1681671
原文:http://10541556.blog.51cto.com/10531556/1681671