c语言,直接写代码不用解释:【问题描述】从键盘输入一行字符(约定:字符数≦127), 将输入的字符存入一个字符数组. 将字符数组中的数字字符删除,并输出删除数字字符以后的字符数组. 不得使用gets,strlen, fgets函数. 【输入形式】从键盘输入一行字符,以回车换行符表示结束. 【输出形式】 【样例输入】abcdefg12345 【样例输出】The result string is abcdefg(空格也要输出)
时间: 2023-02-06 20:55:45 浏览: 172
#include <stdio.h>
int main()
{
char s[128];
int i, j;
// 读入字符串
for (i = 0; i < 128; i++)
{
scanf("%c", &s[i]);
if (s[i] == '\n')
{
break;
}
}
// 将数字字符删除
for (j = 0; j < i; j++)
{
if (s[j] >= '0' && s[j] <= '9')
{
for (int k = j; k < i; k++)
{
s[k] = s[k + 1];
}
i--;
j--;
}
}
// 输出字符串
printf("The result string is ");
for (j = 0; j < i; j++)
{
printf("%c", s[j]);
}
printf("\n");
return 0;
}
相关问题
c语言编写程序实现以下功能: 从键盘输入一行可带空格的字符串(约定:字符数≤127字节),按逆序输出该字符串。
在C语言中,你可以使用`gets()`函数从键盘获取输入的字符串,然后再通过两个指针分别指向字符串的首尾,逐个交换字符,实现字符串的逆序输出。注意,由于历史安全问题,`gets()`已被废弃,推荐使用更安全的`fgets()`函数。以下是使用`fgets()`的一个简单示例:
```c
#include <stdio.h>
void reverseString(char str[]) {
int len = strlen(str) - 1; // 获取字符串长度减一,因为最后一个'\0'不参与逆序
char temp;
// 从后向前遍历字符串,交换字符
for(int i = 0; i < len / 2; i++) {
temp = str[i];
str[i] = str[len - i]; // 左边的字符赋值给右边
str[len - i] = temp; // 右边的字符赋值给左边
}
}
int main() {
char str[128]; // 存储输入字符串,足够大以容纳最多127字节
fgets(str, sizeof(str), stdin); // 从键盘读取字符串,包括末尾的'\n'
// 移除字符串末尾的换行符
str[strcspn(str, "\n")] = '\0';
reverseString(str);
printf("逆序后的字符串: %s\n", str); // 输出逆序后的字符串
return 0;
}
```
这段代码首先获取用户输入的字符串,然后调用`reverseString()`函数进行逆序操作,最后在main函数中打印逆序后的字符串。
用c语言实现从键盘读入一行字符(约定:字符数≤127字节),将其中的数字字符以及这些数字字符的数量在屏幕上显示,注意:要求先显示这些数字字符的数量
在C语言中,你可以使用`getchar()`函数从键盘读取字符,同时遍历输入的字符串,统计其中的数字字符。以下是一个简单的示例程序,实现了这个功能:
```c
#include <stdio.h>
int main() {
int count = 0;
char input[128]; // 存储用户输入的一行字符
printf("请输入一行字符 (不超过127字节): ");
fgets(input, sizeof(input), stdin); // 使用fgets读取一行字符,包括换行符
for(int i = 0; input[i] != '\0'; i++) { // 遍历输入字符串
if((input[i] >= '0' && input[i] <= '9') || input[i] == '-') { // 检查字符是否是数字或减号(表示负数)
count++; // 数量加一
}
}
printf("输入字符串中的数字字符共有 %d 个。\n", count);
return 0;
}
```
在这个程序中,我们首先声明了一个整型变量`count`用于记录数字字符的数量,然后通过`fgets()`获取用户输入。接着遍历字符串中的每个字符,如果遇到数字字符(0-9)或是减号(表示负数),就增加计数器。最后打印出数字字符的数量。
阅读全文