C语言程序设计答案杜友福版 下载本文

printf(\ if(n%6==0)

printf(\

}

printf(\ }

11. 编一函数,求末尾数非0的正整数的逆序数,如:reverse(3407)=7043。 #include <> #include <> int reverse(int m) { int x=0; while(m)

{

x=x*10+m;

m=m/10; }

return x; }

void main() { int w;

scanf(\

printf(\ }

12. 编一函数,将一个字符数组中的数字字符存于另一个字符数组中。 #include <>

#include <>

void fun12(char a[],char b[]) {

int i=0,j;

for(j=0;j

if(b[j]>='0'&&b[j]<='9')

a[i++]=b[j];

a[i]='\\0'; }

void main() {

char s1[81],s2[81]; gets(s2); fun12(s1,s2); puts(s2);puts(s1); }

13. 编一函数,统计一个字符串中字母、数字、空格和其它字符的个数。 #include <> #include <>

void fun13(char s[]) {

int i,num=0,ch=0,sp=0,oh=0; char c;

for(i=0;(c=s[i])!='\\0';i++) if(c==' ') sp++;

else if(c>='0'&&c<='9') num++;

else if(toupper(c)>='A' && toupper(c)<='Z') ch++;

else oh++;

printf(\ }

void main() {

char s1[81]; gets(s1); fun13(s1); }

14. 用递归的方法实现求1+2+3+…+n。 #include <> #include <> int fun14(int m) { int w; if(m==1) w=1; else

w=fun14(m-1)+m; return w; }

void main() { int x,i;

scanf(\

printf(\

}

15. 用递归的方法将一个整数转换成字符串。例如:输入345,应输出字符串“345”。 #include <> #include <> void fun15(int m) { if(m!=0) {

fun15(m/10);

printf(\ } }

void main() { int x;

scanf(\ printf(\ fun15(x); printf(\ }

16. 采用递归的方法计算x的n次方。 #include <> #include <>

float p(float x,int n) { float f;