c语言由键盘输入任意字母字符串number345reverse将其中字母直接输出,数字逆序输出,修改下面代码#include<stdio.h> int main() { char ch: long m,n,nx=0; while(ch=getchar()!='\n') { if(ch>='0'&.&.ch<='9') m=m*10+ch-0; else putchar(ch); } n=m; while(n!=0) { nx=nx*10+m%10; m=m/10; } printf("/n%1d reverse number is %1d\n",n,nx); return 0; }
时间: 2023-05-31 21:03:42 浏览: 215
以下是修改后的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len, i;
printf("请输入字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z') {
printf("%c", str[i]);
}
}
printf(" ");
for (i = len - 1; i >= 0; i--) {
if (str[i] >= '0' && str[i] <= '9') {
printf("%c", str[i]);
}
}
return 0;
}
```
修改的主要内容是在第一个for循环中增加了判断字母的条件,只有字母才会被输出;在第二个for循环中增加了判断数字的条件,只有数字才会被逆序输出。同时,在数字输出前添加了一个空格,使输出结果更加清晰。
相关问题
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
```
用C语言编写代码从键盘输入任意字母数字串,如number345reverse。将其中字母直接输出,数字逆序输出。
好的,这是一个关于字符串处理的问题。以下是实现代码:
```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;
}
```
希望这个代码能够解决你的问题。现在你可以问我下一个问题。
阅读全文