用C语言编写代码从键盘输入任意字母数字串,如number345reverse。将其中字母直接输出,数字逆序输出。
时间: 2024-05-09 09:17:46 浏览: 93
好的,这是一个关于字符串处理的问题。以下是实现代码:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
const int MAX_N = 100;
int main() {
char str[MAX_N];
scanf("%s", str);
int len = strlen(str);
int digitPos[MAX_N], digitCnt = 0;
for (int i = 0; i < len; i++) {
if (isdigit(str[i])) {
digitPos[digitCnt++] = i;
}
}
for (int i = digitCnt - 1; i >= 0; i--) {
printf("%c", str[digitPos[i]]);
}
putchar('\n');
for (int i = 0; i < len; i++) {
if (isalpha(str[i])) {
printf("%c", str[i]);
}
}
return 0;
}
```
希望这个代码能够解决你的问题。现在你可以问我下一个问题。
相关问题
c语言由键盘输入任意字母字符串number345reverse将其中字母直接输出,数字逆序输出
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入任意字母字符串:");
scanf("%s", str);
int len = strlen(str);
printf("字母部分为:");
for(int i = 0; i < len; i++) {
if(str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z') {
printf("%c", str[i]);
}
}
printf("\n数字部分逆序输出为:");
for(int i = len - 1; i >= 0; i--) {
if(str[i] >= '0' && str[i] <= '9') {
printf("%c", str[i]);
}
}
return 0;
}
```
运行示例:
```
请输入任意字母字符串:number345reverse
字母部分为:numberreverse
数字部分逆序输出为:543
```
输入一个整数将它逆序输出,要求使用reverse(number)c语言
在C语言中,如果你想要输入一个整数并将其逆序输出,你可以使用数组或者指针来辅助操作。这里是一个简单的示例,使用字符数组实现数字反转:
```c
#include <stdio.h>
void reverse(int number) {
int digits[10], index = 0; // 假设最多有10位数字
while (number != 0) {
digits[index] = number % 10;
number /= 10;
index++;
}
printf("Reversed number: ");
for (int i = index - 1; i >= 0; i--) {
printf("%d", digits[i]);
}
}
int main() {
int input_number;
printf("Enter an integer: ");
scanf("%d", &input_number);
reverse(input_number);
return 0;
}
```
这个程序首先通过`while`循环获取输入数字的每一位,并存储到`digits[]`数组中。然后,从数组的末尾开始,逐个打印出每位数字,实现了逆序输出。
阅读全文