c语言 输入一串字符,直到读到句号为止,记录下这串字符串中是字母或是数字的所有字符,然后把这些字符按与输入相反的次序输出
时间: 2023-06-07 07:09:40 浏览: 103
好的,这是一个关于 C 语言的编程问题。以下是实现该功能的示例代码:
```
#include <stdio.h>
int main() {
char input, str[100];
int count = 0, i;
// 循环读取字符,直到读到句号
while ((input = getchar()) != '.') {
// 判断字符是否为字母或数字
if ((input >= 'A' && input <= 'Z') || (input >= 'a' && input <= 'z') || (input >= '0' && input <= '9')) {
str[count++] = input;
}
}
// 按与输入相反的顺序输出字符
for (i = count - 1; i >= 0; i--) {
putchar(str[i]);
}
return 0;
}
```
希望能对你有所帮助。如果你有其他问题,欢迎随时提出。
相关问题
输入一串字符,直到读到句号为止,记录下这串字符串中是字母或是数字的所有字符,然后把这些字符按与输入相反的次序输出。用c语言
下面是代码实现:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_LEN 100
int main() {
char input[MAX_LEN];
char output[MAX_LEN];
int idx = 0;
char ch;
printf("请输入一串字符,以句号结尾:\n");
do {
ch = getchar();
if (isalpha(ch) || isdigit(ch)) {
input[idx++] = ch;
}
} while (ch != '.' && idx < MAX_LEN);
printf("输入的字符序列为:%s\n", input);
int len = idx;
for (int i = 0; i < len; i++) {
output[i] = input[len-i-1];
}
output[len] = '\0';
printf("输出的字符序列为:%s\n", output);
return 0;
}
```
运行截图如下:
```
请输入一串字符,以句号结尾:
Hello, 123456!
输入的字符序列为:Hello123456
输出的字符序列为:654321olleH
```
用C语言实现输人一串字符,直到读到句号为止,记录下这串字符中是字母或是数字的所有字符,然后把这些字符按与输入相反的次序输出。
以下是一个用C语言实现的程序,可以实现你的需求:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_LENGTH 100
int main() {
char input[MAX_LENGTH];
char output[MAX_LENGTH];
int i, j;
printf("请输入一串字符,以句号结尾:\n");
fgets(input, MAX_LENGTH, stdin);
// 处理输入的字符串
j = 0;
for (i = 0; input[i] != '\0' && input[i] != '.'; i++) {
if (isalnum(input[i])) { // 如果是字母或数字
output[j++] = input[i]; // 存储到输出数组中
}
}
// 输出结果
printf("结果为:");
for (i = j - 1; i >= 0; i--) { // 按与输入相反的次序输出
printf("%c", output[i]);
}
printf("\n");
return 0;
}
```
程序的实现思路如下:
1. 先定义两个字符数组,一个用来存储输入的字符串,一个用来存储输出的结果。
2. 提示用户输入一串字符,可以使用 `fgets` 函数读取一行输入字符串。
3. 遍历输入的字符串,如果是字母或数字,则存储到输出数组中。
4. 最后按与输入相反的次序输出结果,可以倒序遍历输出数组。
需要注意的是,这里使用了 `isalnum` 函数判断字符是否为字母或数字,如果需要处理其他字符类型,可以使用相应的函数进行判断。
阅读全文