输入321输出123,c语言
时间: 2024-11-15 07:33:23 浏览: 17
在C语言中,你可以通过数组和指针操作来实现这样的转换。这里是一个简单的例子,假设我们有一个字符数组存储输入的字符串,然后逆序这个数组来输出。
```c
#include <stdio.h>
void reverse(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char input[4] = {'3', '2', '1', '\0'};
printf("Input: %s\n", input);
// 反转字符串
reverse(input);
printf("Output: %s\n", input); // 注意这里的输出不会自动添加换行符
return 0;
}
```
当你运行这个程序,会得到`Input: 321`,`Output: 123`的结果。
相关问题
输入一个不多于5位的整数,要求: (1)求出它是几位数 (2)分别输出每一位数字 (3)按逆序输出各位数字,如:输入321,输出123 用C语言实现
你可以使用C语言编写一个简单的函数来实现这个需求。下面是一个示例程序:
```c
#include <stdio.h>
// 函数声明
void printNumber(int num, int length);
int main() {
int input;
printf("请输入一个不超过5位的整数:");
scanf("%d", &input);
// 检查输入是否在允许范围内
if(input >= 0 && input <= pow(10, 5)) {
int length = floor(log10(input)) + 1; // 计算位数
printNumber(input, length);
} else {
printf("输入超出范围,请输入一个1到99999之间的整数。\n");
}
return 0;
}
// 函数实现:打印数字的每一位及逆序
void printNumber(int num, int length) {
for(int i = length - 1; i >= 0; i--) { // 从最高位开始
printf("%d", num % 10); // 取余数得到当前位,然后输出
num /= 10; // 除以10移除最低位
}
printf("\n");
}
```
在这个程序中,`printNumber`函数接受一个整数和它的位数作为参数,通过取模和整除的方式逐位处理数字并输出。主函数先读取用户输入,并判断是否在指定范围内。
请编程实现以下功能:从键盘输入一个三位的整数num,将其个、十、百位倒序生成一个数字输出。 输入输出样例: 输入:123 输出:整数123逆序后为321(用c语言生成)
```c
#include <stdio.h>
int main() {
int num, reversed_num = 0;
// 输入三位整数
printf("请输入一个三位的整数:");
scanf("%d", &num);
// 检查输入是否为三位数
if (num >= 100 && num <= 999) {
// 将个位、十位、百位分别存入变量
int remainder = num % 10; // 个位
num /= 10; // 移除个位
int tens = num % 10; // 十位
num /= 10; // 移除十位
int hundreds = num; // 百位
// 重新组合三位数
reversed_num = hundreds * 100 + tens * 10 + remainder;
// 输出结果
printf("输入的整数%03d逆序后为:%d\n", num, reversed_num);
} else {
printf("输入不是三位数,请重新输入。\n");
}
return 0;
}
```
在这个程序中,我们首先读取用户输入的三位数,然后通过计算余数得到各位数字,并依次将它们添加到`reversed_num`中。最后,我们按照千位、百位、十位、个位的顺序打印出逆序后的数字。
阅读全文