程序猿/媛,你想摆摊吗?那么点击摆摊吧,程序员加入吧💪💪
利用递归方法求5!。 实现思路: 代码如下: 打印: 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 实现思路: 代码如下: 打印: 有 5 个人坐在一起: 实现思路: 代码如下: 打印: 给一个不多于 5 位的正整数,要求: 实现思路: 代码如下: 打印: 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 实现思路: 代码如下: 打印:习题26
使用递归。#include<stdio.h> int main(){ int rec(int n); int result = rec(5); printf("5! = %dn", result); return 0; } int rec(int n){ if(n == 1 || n == 0){ return 1; } else{ return n * rec(n - 1); } }
5! = 120
习题27
使用递归。#include<stdio.h> int main(){ void rev(int n); printf("Please input 5 characters:n"); rev(5); return 0; } void rev(int n){ char ch; if(n <= 1){ ch = getchar(); printf("Result is as follows:n"); putchar(ch); } else{ ch = getchar(); rev(n - 1); putchar(ch); } }
Please input 5 characters: acdfg Result is as follows: gfdca
习题28
问第5个人多少岁,他说比第 4 个人大 2 岁;问第 4 个人岁数,他说比第 3 个人大 2 岁;问第3个人,又说比第 2 人大两岁;问第 2 个人,说比第1个人大两岁;最后问第1个人,他说是 10 岁。
请问第五个人多大?
可以简单倒推、使用循环即可。
这里为了熟悉递归的思想,因此采用递归方法实现:
要想知道第5个人岁数,需知道第四人的岁数,依次类推,推到第1人(10岁),再往回推。#include<stdio.h> int main(){ int age(int n); int a = age(5); printf("The age of the 5th person is %dn", a); return 0; } int age(int n){ if(n == 1){ return 10; } else{ return age(n - 1) + 2; } }
The age of the 5th person is 18
习题29
一、求它是几位数;
二、逆序打印出各位数字。
逐位获取并判断。#include<stdio.h> int main(){ int a, b, c, d, e, num; printf("Please enter a five digit number:n"); scanf("%d", &num); a = num / 10000; b = num % 10000 / 1000; c = num % 1000 / 100; d = num % 100 / 10; e = num % 10; if(a != 0){ printf("This number is five digitsnThe reversed num is %d, %d, %d, %d, %dn", e, d, c, b, a); } else if(b != 0){ printf("This number is four digitsnThe reversed num is %d, %d, %d, %dn", e, d, c, b); } else if(c != 0){ printf("This number is three digitsnThe reversed num is %d, %d, %dn", e, d, c); } else if(d != 0){ printf("It's a two digit numbernThe reversed num is %d, %dn", e, d); } else{ printf("This number is one digitnThe reversed num is %dn", e); } return 0; }
Please enter a five digit number: 19537 This number is five digits The reversed num is 7, 3, 5, 9, 1
习题30
获取每一位的数,并比较判断。#include<stdio.h> int main(){ int a, b, d, e, num; printf("Please enter a five digit number:n"); scanf("%d", &num); a = num / 10000; b = num % 10000 / 1000; d = num % 100 / 10; e = num % 10; if(a == e && b == d){ printf("%d is a palindrome numbern", num); } else{ printf("%d is not a palindrome numbern", num); } return 0; }
Please enter a five digit number: 12321 12321 is a palindrome number
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算