输入一个任意长度正整数,将该数逆序输出,数字最前面的0不显示,C语言,循环语句
时间: 2024-10-19 21:04:27 浏览: 55
在C语言中,你可以使用循环结构来实现输入任意长度正整数的逆序输出,并省略最前面的0。这里是一个简单的示例,使用for循环:
```c
#include <stdio.h>
void reverseNumber(int num) {
int reversed = 0;
while (num != 0) {
// 取出最后一位数字并添加到reversed
int lastDigit = num % 10;
if (lastDigit || reversed == 0) { // 如果不是0且reversed尚未有值,则显示
printf("%d", lastDigit);
}
reversed = reversed * 10 + lastDigit; // 更新reversed
num /= 10; // 移除最后一位
}
}
int main() {
int input;
printf("请输入一个正整数:");
scanf("%d", &input);
// 使用reverseNumber函数逆序输出
reverseNumber(input);
return 0;
}
```
相关问题
输入一个任意长度正整数,将该数逆序输出,数字最前面的0不显示,简单的C语言,循环语句
在C语言中,你可以使用循环结构来实现这个功能。这里是一个使用for循环的例子,它会逆序输出给定的正整数,并忽略最开始的0:
```c
#include <stdio.h>
#include <string.h> // 引入字符串库,用于处理字符数组
void reverseIntegerNoLeadingZeros(int num) {
int reversed[100]; // 假设输入的最大整数不超过99999
int index = 0;
while (num != 0) {
int digit = num % 10; // 取余数得到当前位
if (digit != 0 || index == 0) { // 如果不是0或这是第一个非零位
reversed[index] = digit;
}
num /= 10; // 移除最低位
index++;
}
// 反转数组并输出结果
for (int i = index - 1; i >= 0; i--) {
printf("%d", reversed[i]);
}
}
int main() {
int inputNum;
printf("请输入一个正整数:");
scanf("%d", &inputNum);
reverseIntegerNoLeadingZeros(inputNum);
return 0;
}
```
C语言编程 循环语句输入一个正整数,要求:按逆序打印出这个数的每位数字,并打印出是几位数。若输入负数则输出“输入有误”
在C语言编程中,你可以通过`while`循环结合条件判断和取模运算来实现这个功能。以下是示例代码:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个正整数: ");
scanf("%d", &num);
if (num < 0) {
printf("输入有误\n");
return 0;
}
// 将数字转换成字符串,以便逆序遍历
char str[100];
sprintf(str, "%d", num);
// 计算字符串长度,即输入数字的位数
int length = strlen(str);
// 从后向前遍历并打印每个数字
for (int i = length - 1; i >= 0; i--) {
printf("%c", str[i]);
// 如果不是最后一位,还要打印位置信息
if (i != 0) {
printf("(第 %d 位)", i + 1);
}
}
printf("\n");
return 0;
}
```
阅读全文