c语言中如何实现输入一个整数实现倒序输出

 我来答
榴莲泡芙小蛋糕
2019-04-19 · TA获得超过5385个赞
知道答主
回答量:53
采纳率:0%
帮助的人:7572
展开全部

1、新建一个工程和.c文件,输入头文件和主函数

2、声明被调用的函数,定义变量类型

3、输入整数

4、用一个if语句去判断整数是否为负数,若为负数则用putchar函数输出一个负号

5、调用一个函数

6、定义函数的返回类型和形参类型

7、通过if语句判断该数是否仅剩一位数,若不是则执行else语句

8、通过再次调用子函数一次输出高位的数

9、编译执行即可

山姆和玛吉
推荐于2019-09-02 · TA获得超过7350个赞
知道答主
回答量:10
采纳率:0%
帮助的人:1253
展开全部

定义一个整数类型的输入,然后让它正序输出,倒序输出相信是很多C语言初学入门一定会遇到的经典题目,下面就是我对整数的正序和倒序输出一点小小的总结.

1. 反序(倒序)输出

反序输出常用的思路就是按位取余,把取出来的值进行循环保存。

int main()

{

int i=12345; //定义一个12345的整数

int temp=0;//temp作为存储的值 

while(i!=0){

temp = temp*10 + i%10;

i/=10;  

}  //反序取出来

printf("%d",temp); //打印

return 0;

}

如图所示:

2, 正序输出

正序输出会用在整形变量正序输出转换成对应的字符数组,或者倒过来.常用思路就是定义一个函数,在函数内递归取余调用自身,实现功能。

输入 : 12345

输出 :"12345"

如下:

char str(int x)

{

char a[100];//存放整数转换过来的字符

int i;   //计数

if(x/10!=0)

str(x/10);

if(x>=0)

a[i]='0'+x%10;  //整数转换成字符存储,字符都是以整数形式存储

else

a[i]='0'+(-x)%10;//整形包括负数

printf("%c",a[i++]);

}

int main()

{

int i;

printf("请输入一个整数:\n");

scanf("%d",&i);

str(i);

return 0;

}

如图所示:

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
瓜瓜的时候我
推荐于2019-08-29 · TA获得超过2.5万个赞
知道答主
回答量:23
采纳率:25%
帮助的人:1.7万
展开全部

直接输入:
一、# include "stdio.h"
int invert(long m)
{   printf("%ld", m%10);
m = m/10;
if (m>0)
invert(m)  ;}

如下图:

二、main()
{long n;
printf("Enter n: ");
scanf("%ld", &n);
invert(n);
printf("\n");}

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 [1]  目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
985967518
推荐于2017-09-26 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109858
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部

思路:要想输出一个整数n的倒序,则先输出个位、十位、百位……,个位可以通过n%10得到,十位可以通过n/10%10得到,百位可以通过n%100%10得到……,所以可以通过先取余输出再除以10直到该数等于0为止。

参考代码:

#include<stdio.h>  
int main() 
{  
int n;
scanf("%d",&n);
while(n){
printf("%d",n%10);
n/=10;
}
printf("\n");
return 0;
}
/*
输出: 
12345
54321
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
crafts7
2019-12-05
知道答主
回答量:24
采纳率:0%
帮助的人:2.1万
展开全部
注:本回答已涵盖下面的其它主要回答,为方便大家阅读,难点处已罗列注释
法1:适用于负数
#include<stdio.h>
int main()
{
       int n,x;
       int printn(int x);                    //函数原型
       scanf("%d", &n);
       if (n < 0)
       {
              n = -n;
              putchar('-');                   /*当输入的n<0,将之化为正数
                                       同时用putchar('')语句加上负号*/
       }
       printn(n);
       system("pause");
       return 0;
}                                           //以下是函数的定义
       int printn(int x)
       {
              if (x >= 0 && x <= 9)
                      printf("%d", x);
              else                          /*以下通过赋值运行以方便理解:
                                          例如输入13
                                           先输出余数3
                                          再进行printn(1)的函数运算
                                          即输出1
                                          运行结束*/
              {
                      printf("%d", x % 10);
                      printn(x / 10);
              }
       }
       
法二:仅适用正数
#include<stdio.h>  
int main()
{
       int n;
       scanf("%d", &n);
       while (n)
       {
              printf("%d", n % 10);
              n /= 10;
       }
       system("pause");
       return 0;
}
/*VS2017调试结果参考:
输入10位数(>0),输出倒叙10位数;
输入>10位数,输出乱码;
1000--0001;
0--请按任意键继续;
0001--1;
+12--21*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式