这个应该如何编写呀?

编程将一个宇符串中的所有英文字母组成一个新的字符串。
这个程序如果如何去思考去设计呀?

遍历数组,把不是字母的字符跳过就可以了。

#include<stdio.h>
#include<ctype.h>

int main(int argc, char** argv){
char s[1000];
int i=0,j=0;
scanf("%s",s);
while(s[i]!='\0')
{
if(isalpha(s[i]))
{
s[j++]=s[i];

    } 
    
    i++;    

}
s[j]='\0';

printf("%s",s);
 

return 0;

}

编程将一个宇符串中的所有英文字母组成一个新的字符串。
这个程序如果如何去思考去设计呀?

思考:

  1. 字符串从何而来,是从键盘录入,还是文件,或者别的地方调用传入的参数?
  2. 有了字符串,怎么存储?是用C风格的char[] 数组,还是const char*指针,还是用C++ string,亦或是vector?
  3. 如何遍历一个字符串?这就跟上面用到的字符串存储结构紧密相关的。
  4. 如何判断一个字符数英文字母?通常,用一个ASCII字符存储一个字符,那么英文字母的ASCII码值范围为'a''z'和'A''Z',不记得具体值,可以用字符代替来判断即可。也可以用库函数isalpha(头文件ctype.h)。
  5. 组成的新字符串如何存储?同2。