7.定义一个字符串数组str,字符串数组的值为“fdgs345va9”,使用字符指针的方式遍历这个字符串数组,将其中的小写字母过滤出来(“fdgsva”),并保存到一个新的数组str_new中,打印新的数组str_new。c语言只用stdio.h做
时间: 2024-02-13 12:07:20 浏览: 25
好的,这是一个简单的 C 语言代码实现:
```c
#include <stdio.h>
int main() {
char str[] = "fdgs345va9";
char str_new[10] = {0};
char *p = str;
int j = 0;
while (*p != '\0') {
if (*p >= 'a' && *p <= 'z') {
str_new[j] = *p;
j++;
}
p++;
}
printf("过滤后的字符串是:%s\n", str_new);
return 0;
}
```
代码逻辑是定义两个字符数组,一个存放原始字符串,一个存放过滤后的小写字母。然后使用字符指针遍历原始字符串,判断每个字符是否为小写字母,如果是,则将其存放到新的字符数组中。最后打印新的字符数组即可。注意,新的字符数组中最后一位要用 '\0' 表示字符串的结束符。
相关问题
7.定义一个字符串数组str,字符串数组的值为“fdgs345va9”,使用字符指针的方式遍历这个字符串数组,将其中的小写字母过滤出来(“fdgsva”),并保存到一个新的数组str_new中,打印新的数组str_new。c语言
好的,我理解了你的问题。以下是解决问题的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[] = "fdgs345va9";
char *str_new = (char*) malloc(strlen(str) * sizeof(char)); // 分配保存小写字母的新数组
int j = 0;
for (int i = 0; i < strlen(str); i++) {
if (islower(str[i])) { // 判断小写字母
str_new[j++] = str[i];
}
}
str_new[j] = '\0'; // 字符串结尾
printf("原字符串: %s\n", str);
printf("新字符串: %s\n", str_new);
free(str_new); // 释放内存
return 0;
}
```
输出结果为:
```
原字符串: fdgs345va9
新字符串: fdgsva
```
这段代码的思路是:遍历原字符串,如果当前字符是小写字母,就将它保存到新数组中,并将新数组的下标 j 加一。最后,将新数组的结尾设置为 '\0',并输出原字符串和新字符串。
定义一个字符串数组str,字符串数组的值为“fdgs345va9”,使用字符指针的方式遍历这个字符串数组,将其中的小写字母过滤出来("fdgsva"),并保存到一个 新的数组str. new中,打印新的数组str new.
好的,下面是代码示例:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[] = "fdgs345va9";
char str_new[8];
char* ptr = str;
int len = strlen(str);
int index = 0;
for (int i = 0; i < len; i++) {
if (*(ptr + i) >= 'a' && *(ptr + i) <= 'z') { // 判断字符是否为小写字母
str_new[index] = *(ptr + i);
index++;
}
}
str_new[index] = '\0'; // 最后一个元素设为字符串结束符
cout << str_new << endl;
return 0;
}
```
输出结果为:
```
fdgsva
```
解释一下,我们首先定义了一个字符串数组 str,并赋值为 "fdgs345va9"。然后定义了一个字符数组 str_new,用于存储过滤后的小写字母。接着定义了一个指针变量 ptr,指向字符串数组的第一个元素。还定义了一个整型变量 len,保存字符串数组的长度。
使用 for 循环依次遍历字符串数组的所有元素,判断是否为小写字母,如果是则将其存入 str_new 数组中,并将 index 变量加 1。最后将 str_new 数组的最后一个元素设为字符串结束符,即可打印出过滤后的小写字母。
可以看到,过滤后的小写字母已经被成功地存入了 str_new 数组中,并打印出来了。