c语言给出整数n,n可正可负,按位逆序输出,如果末尾为0,则不输出前导的0
时间: 2024-05-03 18:21:42 浏览: 10
```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可正可负,按位逆序输出,
可以使用循环和取模运算实现按位逆序输出一个整数n。具体步骤如下:
1. 判断n是否为负数,如果是,先输出负号,并将n取反,变为正数。
2. 循环取n的末位数字,每次取完后将n除以10,直到n变为0为止。
3. 输出每次取得的末位数字,即可得到按位逆序的结果。
示例代码如下:
```c
#include <stdio.h>
int main() {
int n, digit;
printf("请输入一个整数:\n");
scanf("%d", &n);
if (n < 0) {
printf("-");
n = -n;
}
while (n > 0) {
digit = n % 10;
printf("%d", digit);
n /= 10;
}
printf("\n");
return 0;
}
```
输入一个整数,程序会输出按位逆序的结果。例如,输入12345,输出54321;输入-9876,输出-6789。
输入任意一个三位整数,可正可负,用内置的数值运算操作符输出该数字的个位,十位和百位数字。结果逗号隔开同行输出,用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后的商,即为十位数字。