題目21
利用遞歸方法求n!
/*利用遞歸方法求n!*/
#include<stdio.h>
int fact(int n){
int sum ;
if(n==1){
sum = 1;
}
else{
sum = n*fact(n-1);
}
return sum;
}
int main(){
int n;
printf("求n!,請(qǐng)輸入n炬守。\n");
scanf("%d",&n);
int sum;
sum = fact(n);
printf("\n求解得:%d",sum);
return 0;
}
題目22
利用遞歸函數(shù)調(diào)用方式箱锐,將所輸入的字符,以相反順序打印出來(lái)劳较。
/*利用遞歸函數(shù)調(diào)用方式驹止,將所輸入的字符,以相反順序打印出來(lái)观蜗。
注:實(shí)際上就是不斷調(diào)用函數(shù)臊恋,然后在最后的時(shí)候輸出。
*/
#include<stdio.h>
void fan(){
char next;
next = getchar();
if(next !='\n'){
fan();
}
printf("%c",next);
}
int main(){
printf("請(qǐng)輸入一段字符\n");
fan();
return 0;
}
題目23
有5個(gè)人坐在一起,
問(wèn)第五個(gè)人多少歲墓捻?他說(shuō)比第4個(gè)人大2歲抖仅。
問(wèn)第4個(gè)人歲數(shù),他說(shuō)比第3個(gè)人大2歲砖第。
問(wèn)第三個(gè)人撤卢,又說(shuō)比第2人大兩歲。
問(wèn)第2個(gè)人梧兼,說(shuō)比第一個(gè)人大兩歲放吩。
最后問(wèn)第一個(gè)人,他說(shuō)是10歲羽杰。請(qǐng)問(wèn)第五個(gè)人多大渡紫?
/*有5個(gè)人坐在一起,
問(wèn)第五個(gè)人多少歲到推?他說(shuō)比第4個(gè)人大2歲。
問(wèn)第4個(gè)人歲數(shù)惕澎,他說(shuō)比第3個(gè)人大2歲莉测。
問(wèn)第三個(gè)人,又說(shuō)比第2人大兩歲唧喉。
問(wèn)第2個(gè)人捣卤,說(shuō)比第一個(gè)人大兩歲。
最后問(wèn)第一個(gè)人八孝,他說(shuō)是10歲腌零。請(qǐng)問(wèn)第五個(gè)人多大?*/
#include<stdio.h>
void plus_2(int per,int n){
if(n!=1){
per = per + 2;
plus_2(per,n-1);
}
else
printf("%d\n",per);
}
int main(){
int per;
plus_2(10,5);
return 0;
}
題目24
給一個(gè)不多于5位的正整數(shù)唆阿,
要求:一益涧、求它是幾位數(shù),二驯鳖、逆序打印出各位數(shù)字闲询。
/*給一個(gè)不多于5位的正整數(shù),
要求:一浅辙、求它是幾位數(shù)扭弧,二、逆序打印出各位數(shù)字记舆。*/
#include <stdio.h>
int main()
{
int i,j,k,count=0;
printf("請(qǐng)輸入一個(gè)不多于5位的正整數(shù):\n");
scanf("%d",&i);
printf("逆序?yàn)椋?);
for(j=1;j<=5;j++)
{
k=i%10;
i=i/10;
count++;
printf("%d ",k);
if(i==0)
{
break;
}
}
printf("\n是 %d 位數(shù)\n",count);
return 0;
}
題目25
給出一個(gè)數(shù)鸽捻,判斷它是不是回文數(shù)。即12321是回文數(shù)泽腮,個(gè)位與萬(wàn)位相同御蒲,十位與千位相同。
/*一個(gè)數(shù)诊赊,判斷它是不是回文數(shù)厚满。即12321是回文數(shù),個(gè)位與萬(wàn)位相同碧磅,十位與千位相同碘箍。*/
#include<stdio.h>
int main(){
long int n;
printf("請(qǐng)輸入一個(gè)數(shù)字,數(shù)字不要超過(guò)10位 ,否則會(huì)判斷錯(cuò)誤\n");
scanf("%ld",&n);
long int sum;
sum = 0;
long int i;
for(i=n; i>0 ; i = i/10){
sum = sum*10 + i%10;
}
if(sum == n){
printf("\n %ld 是回文數(shù)",n);
}
else{
printf("\n %ld 不是回文數(shù)",n);
}
}