用C语言输入一个字符串,将其中的数字字符全部删除 输入格式: 输入一字符串 输出格式: 删掉数字字符后,剩下的字符组成的新串
时间: 2024-02-15 17:02:06 浏览: 88
好的,我可以为您编写相应的代码。请确认以下代码是否符合您的需求:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[100];
printf("请输入字符串:");
fgets(str, sizeof(str), stdin);
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (!isdigit(str[i])) {
printf("%c", str[i]);
}
}
return 0;
}
```
该程序可以读入一个字符串,遍历字符串的每个字符,如果该字符不是数字,则输出该字符。这样就将数字字符全部删除了,输出的即为剩下的字符组成的新串。
请注意,该程序使用了标准库中的 `isdigit` 函数,判断当前字符是否为数字字符。在使用前需要包含 `ctype.h` 头文件。
相关问题
c语言输入一个字符串,讲所有东西空格删掉 并输出
在C语言中,如果你想从用户输入的字符串中删除所有的空格,并将其输出,可以使用`strtok()`函数配合循环。首先需要创建一个动态数组来存储结果,因为原始字符串长度可能会变短。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char str[100];
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin); // 读取用户输入直到换行符
str[strcspn(str, "\n")] = '\0'; // 删除换行符
char* token = strtok(str, " "); // 分割字符串,空格作为分隔符
char result[MAX_LENGTH] = "";
while (token != NULL) {
strcat(result, token);
token = strtok(NULL, " "); // 再次分割,直到无更多字符
}
printf("去除空格后的字符串: %s\n", result);
return 0;
}
```
这段代码会提示用户输入字符串,然后删除其中的所有空格,最后输出处理后的字符串。
c语言编写函数Delete()在字符串中删除给定的某字符。例如:在"hello“中删掉'l',结果为"heo". 然后在主函数中,输入字符串和待删除的字符,再调用函数Delete删除字符串中与该字符相同的字符,最后输出删除字符后的字符串。 程序运行结果示例: Input a string: hello, my friend!↙ Input a character: l↙ Results:heo, my friend! 输入格式: 输入字符串用 gets()函数 输入单个字符用 getchar()函数 输出格式: 输入字符串的提示信息: "Input a string:\n" 输入单个字符的提示信息: "Input a character:\n" 输出格式: "Results:%s\n"
C语言代码如下:
```c
#include <stdio.h>
#include <string.h>
#define MAXN 100
void Delete(char s[], char c) {
int len = strlen(s);
int j = 0;
for (int i = 0; i < len; i++) {
if (s[i] != c) {
s[j++] = s[i];
}
}
s[j] = '\0';
}
int main() {
char s[MAXN], c;
printf("Input a string:\n");
gets(s);
printf("Input a character:\n");
c = getchar();
Delete(s, c);
printf("Results:%s\n", s);
return 0;
}
```
这个程序与C++程序的思路基本一致。使用gets函数读入字符串,getchar函数读入待删除的字符,然后调用Delete函数删除字符串中与该字符相同的字符,最后输出删除后的字符串。需要注意的是,由于C语言中没有iostream头文件,所以输入输出要使用printf和scanf函数。
阅读全文