读入一个两位的个位不为零的正整数,将它的十位数和个位数调换后输出。C语言
时间: 2024-09-27 10:09:29 浏览: 76
在C语言中,你可以使用`scanf`和`printf`函数配合条件判断来实现这个功能。假设用户输入的数字为`AB`(A表示十位数,B表示个位数),你需要先读取这两个字符,然后交换它们,最后输出修改后的数字。以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h> // 使用这个头文件包含strlen函数
int main() {
char input[3]; // 存储输入的两个字符和一个空格
int temp;
// 读入数字
printf("请输入一个两位的个位不为零的正整数: ");
scanf("%s", input);
// 检查输入是否合法
if (input[0] == '\0' || input[1] == '0') {
printf("输入不合法!个位不能为零。\n");
return 1; // 返回错误码
}
// 获取个位和十位,并交换
temp = input[0] - '0'; // 转换为数字
input[0] = input[1];
input[1] = temp + '0';
// 输出结果
printf("交换后的数字是: %s\n", input);
return 0;
}
```
这段代码首先读取用户输入的字符串,如果输入的是一个空字符串或者个位为零,则提示用户输入不合法。接着,它把字符串的第一个字符(十位)转换为数字,然后将个位和十位交换,最后再将修改后的字符串输出。
阅读全文