C语言编写程序,将用户输入的字符串中所有非字符a去掉,然后输出剩余的字符
时间: 2023-06-09 22:07:44 浏览: 57
可以使用C语言中的字符串处理函数来实现。以下是一种可能的实现方法:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
printf("请输入字符串:");
gets(str); // 获取用户输入的字符串
int i, j;
for (i = 0, j = 0; i < strlen(str); i++)
{
if (str[i] != 'a') // 如果当前字符不是'a',则将其保存到新字符串中
{
str[j] = str[i];
j++;
}
}
str[j] = '\0'; // 在新字符串结尾添加结束符
printf("处理后的字符串为:%s\n", str);
return 0;
}
```
该程序先定义一个大小为100的字符数组来保存用户输入的字符串。然后使用gets()函数获取用户输入的字符串,并遍历整个字符串,如果当前字符不是 'a',则将其保存到新的字符串中。最后在新字符串的末尾添加一个结束符 '\0',并输出新字符串即可。
相关问题
c语言 编写程序将键盘输入的N个字符串中最长的字符串找出并输出
好的,您可以使用以下的C语言程序来实现这一功能:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
int n;
char str[MAX_LENGTH], longest[MAX_LENGTH];
int longest_len = 0;
printf("请输入字符串的数量N:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d个字符串:", i + 1);
scanf("%s", str);
int len = strlen(str);
if (len > longest_len) {
longest_len = len;
strcpy(longest, str);
}
}
printf("最长的字符串是:%s\n", longest);
return 0;
}
```
程序的思路是,先通过 `scanf` 获取输入的字符串数量 `n`,然后使用一个 `for` 循环遍历每个字符串,通过 `strlen` 函数获取字符串的长度,并将其与当前最长字符串的长度进行比较,如果更长,则更新最长字符串。最后输出最长字符串即可。
需要注意的是,本程序没有对字符串长度超过 `MAX_LENGTH` 的情况进行处理,如果需要,可以在输入字符串时添加长度检查。
c语言编写程序将一个字符串反向输出
好的,以下是使用C语言编写将字符串反向输出的程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char string[100]; // 定义字符串数组
printf("请输入一个字符串:");
scanf("%s", string); // 读取用户输入的字符串
int len = strlen(string);
for (int i = len - 1; i >= 0; i--) { // 循环反向输出字符串
printf("%c", string[i]);
}
printf("\n"); // 输出换行符
return 0;
}
```
运行程序后,它会提示你输入一个字符串,然后将输入的字符串反向输出。例如,如果你输入 "hello",程序将输出 "olleh"。