C语言输入整数123输出倒序321,007倒序7

#include<stdio.h>
int main()
{
	int a;
	int b;
	scanf("%d",&a);
	b = (a%10)*100+(a%100/10)*10+a/100;
	printf("%d\n",b);
	return 0;
 } 

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 答:#include<stdio.h> int main(){ int a,b,c,d,e; scanf("%d",&a); if(a<10)printf("1位数, 分别输出:%d, 逆序输出:%d\n",a,a); else if(a<100)printf("2位数, 分别输出:%d %d, 逆序输出:%d %d\n",a/10,a%10,a%10,a/10); else if(a<1000)printf("3位数, 分别输出:%d %d %d, 逆序输出:%d %d %d\n",a/100,a/10%10,a%10,a%10,a/10%10,a/100); else if(a<10000)printf("4位数, 分别输出:%d %d %d %d, 逆序输出:%d %d %d %d\n",a/1000,a/100%10,a/10%10,a%10,a%10,a/10%10,a/100%10,a/1000); else printf("5位数, 分别输出:%d %d %d %d %d, 逆序输出:%d %d %d %d %d\n",a/10000,a/1000%10,a/100%10,a/10%10,a%10,a%10,a/10%10,a/100%10,a/1000%10,a/10000); return 0; } ### 回答2: #include <stdio.h> int main() { int num, digit, count = 0; printf("请输入一个不多于5位的正整数:"); scanf("%d", &num); // 判断位数 if(num < 10) { count = 1; } else if(num < 100) { count = 2; } else if(num < 1000) { count = 3; } else if(num < 10000) { count = 4; } else { count = 5; } printf("这个数是%d位数\n", count); printf("每一位数字分别是:"); int i; for(i = 1; i <= count; i++) { digit = (num % (int)pow(10, i)) / (int)pow(10, i-1); printf("%d ", digit); } printf("\n逆序输出各位数字为:"); for(i = count; i >= 1; i--) { digit = (num % (int)pow(10, i)) / (int)pow(10, i-1); printf("%d", digit); } return 0; } ### 回答3: 题目要求使用C语言编程,以下为300字中文回答: 首先,我们需要定义一个整型变量来存储输入的正整数。然后,我们可以使用循环和取余运算来逐位地获取该数的每一位数字。根据题目要求,我们可以定义一个整型数组来存储每一位数字。 在开始之前,我们需要引入stdio.h头文件,以使用输入输出函数。 在程序中,我们可以首先提示用户输入一个不多于5位的正整数,并使用scanf函数将输入的值存储到之前创建的整型变量中。 接下来,我们可以用一个循环来判断该数是几位数。我们可以用一个整型变量count来记录位数,并在每一次循环中进行自增操作。我们可以使用一个while循环,判断该数是否大于10的count次方,如果是,则继续循环,否则,跳出循环。 然后,我们可以用一个for循环来分别输出每一位数字。由于题目要求需要倒序输出每一位数字,所以我们可以从count-1开始循环,直到循环变量i小于0为止。在每一次循环中,我们可以使用取余运算和除法运算,来获取当前位的数字。通过打印输出,我们就可以逐位地输出每一个数字。 最后,我们可以用一个for循环来按逆序输出各位数字。同样,我们从count-1开始循环,直到循环变量i小于0为止。在每一次循环中,我们可以使用取余运算和除法运算,来获取当前位倒序的数字。通过打印输出,我们就可以按逆序输出各位数字。 整个程序的C语言代码如下所示: ```c #include <stdio.h> int main() { int num; printf("请输入一个不多于5位的正整数:"); scanf("%d", &num); int count = 0; int temp = num; while (temp) { count++; temp /= 10; } printf("该数是%d位数\n", count); int digits[count]; temp = num; for (int i = count - 1; i >= 0; i--) { digits[i] = temp % 10; temp /= 10; printf("第%d位数字为:%d\n", count - i, digits[i]); } printf("按逆序输出各位数字:"); for (int i = count - 1; i >= 0; i--) { printf("%d", digits[i]); } return 0; } ``` 上述代码使用了整型数组来存储每一位数字,并按逆序输出。根据输入的正整数不同,可以得到不同的结果。通过这个程序,我们可以实现求得正整数的位数,逐位输出和按逆序输出的功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值