C语言用循环/函数/递归/数组将整数倒(反)(逆)序输出
作为一个菜鸟这是我目前已知并且学会的几个方法了😂
下面我将做一个全面的展示,基于我之前也是不会去搜做法发现他们写的并不是太全面,因为有的题目是输入样例是:520,输出样例是:025 但有的题目要求输出样例是 :25 ,这个在代码上就不太一样了,所以我在此把每种都分别写下来。
题目描述
给定一个整数n,你不知道这个整数有多少位,你需要反转给出的数的每一个数字,然后得到一个新的数字
输入
单组测试用例
输入一个数字 n
输出
第一种:循环
我用的是while()循环,其实别的循环都可以做到的
#include <stdio.h>
int main()
{
int n,a,ans=0;
scanf("%d",&n);
while(n){
a = n % 10;
ans = ans * 10 + a;
n /= 10;
}
printf("%d",ans);
return 0;
}
输入:520
输出:25
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n){
printf("%d",n%10);
n = n/10;
}
return 0;
}
输入:520
输出:025
第二种:函数
#include<stdio.h>
int daoxu(int n); //定义函数
int main()
{
int n;
scanf("%d",&n);
printf("%d",daoxu(n));
return 0;
}
int daoxu(int n)
{
int ans=0;
while(n){
ans = ans*10 + n%10;
n/=10;
}
return ans;
}
输入:520
输出:25
#include<stdio.h>
int daoxu(int n); //定义函数
int main()
{
int n;
scanf("%d",&n);
daoxu(n);
return 0;
}
int daoxu(int n)
{
while(n){
printf("%d",n%10);
n = n/10;
}
}
输入:520
输出:025
第三种:递归
#include<stdio.h>
void reverse(int n){
int a = n;
if(a==0)
return;
else if(a>0&&a<10)
printf("%d",a);
else
printf("%d",a%10);
reverse(n/10);
}
int main()
{
int n;
scanf("%d",&n);
reverse(n);
return 0;
}
输入:520
输出:025
第四种:数组
本文详细介绍了使用C语言通过四种方法(循环、函数、递归、数组)将整数进行倒序输出。针对不同题目要求,如输出形式为连续数字或带有空格的数字,提供了相应的代码实现。
8034

被折叠的 条评论
为什么被折叠?



