黑马程序员技术交流社区
标题:
输入一个英文句子,要求将每个单词的第一个字母删除 求助
[打印本页]
作者:
该有个目标了
时间:
2014-8-24 21:20
标题:
输入一个英文句子,要求将每个单词的第一个字母删除 求助
#include<stdio.h>
#include<string.h>
int main()
{
char str[100];
int i;
gets(str);
for(i=0;i<strlen(str);i++)
{
printf("%c",str
);
if(str
==' ')
i++;
}
printf("\n");
return 0;
}
为什么第一个字母删不掉 ,怎么做,求教。
作者:
庄得超
时间:
2014-8-24 21:32
我的思路是,可以按空格把句子拆分放到数组中,再删除每个数组字符串中的第一个字母。
作者:
王振宇351x
时间:
2014-8-25 01:22
#include <stdio.h>
#include<string.h>
int main()
{
char str[100];
int i;
gets(str);
for (i=1; i<strlen(str); i++) { //i必须从1开始. 否则第一个单词的第一个字母就没有办法去掉.
printf("%c",str[i]); // 少了"[i]"
if (str[i]==' ') { // 少了"[i]"
i++;
}
}
printf("\n");
return 0;
}
复制代码
作者:
王振宇351x
时间:
2014-8-25 01:30
如果要考虑到,第一个字符可能是空格,单词间可能间隔几个空格的情况,那么就用下面的代码
#include <stdio.h>
#include<string.h>
int main()
{
char str[100];
int i=0;
gets(str);
while(str[i]==' ') { // 将前面的空格都给排除掉
i++;
}
for (i++; i<strlen(str); i++) { //第一个i++是将第一个单词的第一个字母忽略掉
printf("%c",str[i]);
while(str[i]==' ') { // 将连续的空格都忽略掉.
i++;
}
}
printf("\n");
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2