美文网首页
C语言经典习题(21~25)

C语言经典习题(21~25)

作者: 十字街86号 | 来源:发表于2020-03-23 20:33 被阅读0次
题目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!,请输入n。\n");
    scanf("%d",&n);
    
    int sum; 
    sum = fact(n);
    printf("\n求解得:%d",sum);
    return 0;
} 
题目22

利用递归函数调用方式,将所输入的字符,以相反顺序打印出来。

/*利用递归函数调用方式,将所输入的字符,以相反顺序打印出来。
注:实际上就是不断调用函数,然后在最后的时候输出。
*/
#include<stdio.h>

void fan(){
    char next;
    next = getchar();
    if(next !='\n'){
        fan(); 
    }
     printf("%c",next);
}

int main(){
    printf("请输入一段字符\n");
    fan();
    return 0; 
} 
题目23

有5个人坐在一起,
问第五个人多少岁?他说比第4个人大2岁。
问第4个人岁数,他说比第3个人大2岁。
问第三个人,又说比第2人大两岁。
问第2个人,说比第一个人大两岁。
最后问第一个人,他说是10岁。请问第五个人多大?

/*有5个人坐在一起,
问第五个人多少岁?他说比第4个人大2岁。
问第4个人岁数,他说比第3个人大2岁。
问第三个人,又说比第2人大两岁。
问第2个人,说比第一个人大两岁。
最后问第一个人,他说是10岁。请问第五个人多大?*/

#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

给一个不多于5位的正整数,
要求:一、求它是几位数,二、逆序打印出各位数字。

/*给一个不多于5位的正整数,
要求:一、求它是几位数,二、逆序打印出各位数字。*/

#include <stdio.h>
int main()
{
    int i,j,k,count=0;
    printf("请输入一个不多于5位的正整数:\n");
    scanf("%d",&i);
    printf("逆序为:");
    for(j=1;j<=5;j++)
    {
        k=i%10;
        i=i/10;
        count++;
        printf("%d ",k);
        if(i==0)
        {
            break;
        }
    }
    printf("\n是 %d 位数\n",count);
    return 0;
}
题目25

给出一个数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

/*一个数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。*/ 

#include<stdio.h>
int main(){
    long int n;
    printf("请输入一个数字,数字不要超过10位 ,否则会判断错误\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 是回文数",n);
    }
    else{
        printf("\n %ld 不是回文数",n);
    }
} 

相关文章

网友评论

      本文标题:C语言经典习题(21~25)

      本文链接:https://www.haomeiwen.com/subject/lqnwyhtx.html