c语言给出整数n,n可正可负,按位逆序输出,如果末尾为0,则不输出前导的0
时间: 2024-05-03 10:21:42 浏览: 50
```c
#include <stdio.h>
int main()
{
int n, flag = 0;
scanf("%d", &n);
if(n == 0) // 特判 n = 0 的情况
{
printf("0");
return 0;
}
if(n < 0) // 如果 n 为负数,先输出负号
{
printf("-");
n = -n;
}
while(n) // 按位逆序输出
{
if(n % 10 != 0) // 如果当前位不为0,则修改标记
flag = 1;
if(flag) // 如果标记为真,则输出当前位
printf("%d", n % 10);
n /= 10; // 舍去当前位
}
return 0;
}
```
相关问题
c语言给出整数n,n可正可负,按位逆序输出,
#include <stdio.h>
int main() {
int n, reversed = 0, sign = 1;
printf("请输入整数n:\n");
scanf("%d", &n);
if (n < 0) {
sign = -1;
n = -n;
}
while (n > 0) {
reversed = reversed * 10 + n % 10;
n /= 10;
}
reversed *= sign;
printf("按位逆序输出结果为:%d", reversed);
return 0;
}
输入任意一个三位整数,可正可负,用内置的数值运算操作符输出该数字的个位,十位和百位数字。结果逗号隔开同行输出,用C语言实现
以下是用C语言实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int num, digit_1, digit_2, digit_3;
// 读取输入的整数
printf("请输入一个三位整数:");
scanf("%d", &num);
// 计算百位、十位和个位数字
digit_1 = abs(num) / 100; // 取绝对值再整除
digit_2 = abs(num) % 100 / 10; // 取绝对值再取余再整除
digit_3 = abs(num) % 10; // 取绝对值再取余
// 输出结果
printf("%d,%d,%d", digit_1, digit_2, digit_3);
return 0;
}
```
在上述代码中,我们首先使用 `scanf` 函数读取用户输入的整数,然后通过数学运算计算出该整数的百位、十位和个位数字,并使用 `printf` 函数输出结果。注意,在计算十位数字时,我们先使用取余运算 `%` 求出该整数除以100后的余数,再使用整除运算 `/` 求出这个余数除以10后的商,即为十位数字。
阅读全文