将一个正整数逆序输出(C语言

比如说输入一个12345
则输出5,4,3,2,1

#include<stdio.h>intmain(){intnum;scanf("%d",&num);inta,i;for(i=0;num>0;i++){a=num%10;printf("%d",a);num=num/10;}return0;}分析:首先,输入的是一个整数,因此最前面一位数不是零,所以我们可以用除10取余法写。a=num%10就是输出数字的最后一位然后除10剔除数字最后一位,这样数字倒数第二位就会输出。以此类推,就能逆序输出数字。拓展资料for循环是编程语言中一种开界的循环语句,而循环语句由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。C语言中的for循环如下1.语句最简形式为:for(;;)2.一般形式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-10

思路:逆序输出一个整数可以对其除10直到其为0为止,并输出其对10取余,最后的结果就是这个整数的逆序。

参考代码:

#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n)
{
printf("%d ",n%10);
n/=10;
}
return 0; 
}
/*
输出:
12345
5 4 3 2 1
*/

第2个回答  推荐于2017-09-15
#include<stdio.h>
void main()
{
int i=0;
char str[10];
scanf("%s",str);
while(str[i]!='\0')
i++;
for(i--;i>=0;i--)
printf("%c,",str[i]);
printf("\n");
}
学C得自己多动脑子,说实话我也不过初学者,上面的代码已经过调试!本回答被提问者采纳
第3个回答  2019-06-14
void
printn(int
n)
{
if((n>=0)&&(n<=9))
printf("%d",n);
else
{
printn(n/10);/*注意这一句和下一句,颠倒顺序就成了逆序输出*/
printf("%d",n%10);
}
}
逆序打印字符串:
void
prnstr(char
*
str)
{
if(!str)
return;
if(!*str)return;
prnstr(str
+
1);
printf("%c",
*str);
}
第4个回答  2020-01-16
void
printn(int
n)
{
if((n>=0)&&(n<=9))
printf("%d",n);
else
{
printn(n/10);/*注意这一句和下一句,颠倒顺序就成了逆序输出*/
printf("%d",n%10);
}
}
逆序打印字符串:
void
prnstr(char
*
str)
{
if(!str)
return;
if(!*str)return;
prnstr(str
+
1);
printf("%c",
*str);
}