**关于C语言的一些入门习题**
**cocowy的编程世界**
问题描述:关于任意整数的逆序输出。
方法一(带零的逆序输出):
#include<stdio.h>
#include<stdlib.h>
int main()
{
int x;
scanf("%d",&x);
int digit,ret=0;
while(x>0){
digit=x%10;
x/=10;
printf("%d",digit);
}
return 0;
}
方法二(不带零的逆序输出):
当题目要求为不能将整数末尾为0的情况输出来时,例如 :400 ,逆序输出后:4.(这时应该变量i,作为标识符计数使用)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int num,ret,digit=0;
printf("请输入数字:");
scanf("%d",&num);
while (num>0)
{
digit=num%10;
ret=ret*10+digit;
num/=10;
}
printf("逆序输出的结果为:%d",ret);
}
另一种逆序输出思路(输出不带零)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a;
int y=0;
int i=0;
printf("请输入任意整数:");
scanf("%d",&a);
while(a>9)
{
y=a%10;
a=a/10;
if(y== 0&&i== 0)
continue;
else
{
printf("%d",y);
i++;
}
}
printf("%d",a);
printf("\n");
return 0;
}
正序输出
int main(){
int x,t;
int mask=1;
scanf("%d,",&x);
t=x;
while(t>9){
t/=10;
mask*=10;
}
while(x>0)
{
int d=x/mask;
printf("%d ",d);
x %=mask;
mask/=10;
}
return 0;
}
代码片输出如下: