当前位置: 首页 > news >正文

C语言经典100例(027,028,029,030)

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

#include <stdio.h>
 
int main()
{
    int i=5;
    void palin(int n);
    printf("请输入5个字符\40:\40");
    palin(i);
    printf("\n");
}
void palin(n)
int n;
{
    char next;
    if(n<=1) {
        next=getchar();
        printf("相反顺序输出结果\40:\40");
        putchar(next);
    } else {
        next=getchar();
        palin(n-1);
        putchar(next);
    }
}

以上实例输出结果为:

请输入5个字符 : abcde
相反顺序输出结果 : edcba

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

程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

#include <stdio.h>
 
int age(n)
int n;
{
    int c;
    if(n==1) c=10;
    else c=age(n-1)+2;
    return(c);
}
int main()
{
    printf("%d\n",age(5));
}

以上实例输出结果为:18


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

程序分析:学会分解出每一位数,如下解释。

#include <stdio.h>
 
int main( )
{
    long a,b,c,d,e,x;
    printf("请输入 5 位数字:");
    scanf("%ld",&x);
    a=x/10000;        /*分解出万位*/
    b=x%10000/1000;   /*分解出千位*/
    c=x%1000/100;     /*分解出百位*/
    d=x%100/10;       /*分解出十位*/
    e=x%10;           /*分解出个位*/
    if (a!=0){
        printf("为 5 位数,逆序为: %ld %ld %ld %ld %ld\n",e,d,c,b,a);
    } else if(b!=0) {
         printf("为 4 位数,逆序为: %ld %ld %ld %ld\n",e,d,c,b);
    } else if(c!=0) {
         printf("为 3 位数,逆序为:%ld %ld %ld\n",e,d,c);
    } else if(d!=0) {
         printf("为 2 位数,逆序为: %ld %ld\n",e,d);
    } else if(e!=0) {
         printf("为 1 位数,逆序为:%ld\n",e);
    }
}

以上实例输出结果为:

请输入 5 位数字:12345
为 5 位数,逆序为: 5 4 3 2 1

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

程序分析:学会分解出每一位数。

#include <stdio.h>
 
int main( )
{
    long ge,shi,qian,wan,x;
    printf("请输入 5 位数字:");
    scanf("%ld",&x);
    wan=x/10000;        /*分解出万位*/
    qian=x%10000/1000;  /*分解出千位*/
    shi=x%100/10;       /*分解出十位*/
    ge=x%10;            /*分解出个位*/
    if (ge==wan&&shi==qian) { /*个位等于万位并且十位等于千位*/
        printf("这是回文数\n");
    } else {
        printf("这不是回文数\n");
    }
}

以上实例输出结果为:

请输入 5 位数字:12321
这是回文数

请输入 5 位数字:12345
这不是回文数

相关文章:

  • 茂名市住房和城乡建设局/北京seo推广系统
  • 南宁建站软件/互联网广告代理加盟
  • 做网站那里做可靠/代发百度帖子包收录排名
  • 织梦网站广告代码教程/关键词优化公司费用多少
  • 二手车交易市场/搜索引擎优化的基本手段
  • 事件营销方案模板/哈尔滨企业网站seo
  • 虚拟机本地搭建Hadoop集群教程
  • 基于A*搜索和深度优先搜索解迷宫问题
  • RPC框架泛调用原理及转转的实践
  • 文档管理系统采用电子签名的优势
  • 单网口ubuntu主机配置virt-manager传统桥接bridge网络
  • 搜索——P5194 [USACO05DEC]Scales S+P5440 【XR-2】奇迹+P1378 油滴扩展
  • VueRouter编程式路由导航
  • 研一寒假C++复习笔记--程序的内存模型
  • CAD软件中如何标注曲线长度?
  • Vue CLI脚手架
  • vue3组件库项目学习笔记(四):发布你的组件
  • 知识图谱与神经网络,神经调节知识网络图