c++怎么将字符串中的英文单词变成首写字母大写缩写

c++怎么将字符串中的英文单词变成大写缩写
比如输入student program
输出为ST
求大神解答

c++

8个回答

每个单词的首字母吗?

SP 还是 ST?

每个单词的首字母吗?

SP 还是 ST?

qq_41001295
qq_41001295 emmmm打错了SP
2 年多之前 回复

emmmm是SP打错了

emmmm是SP打错了

emmmm是SP我打错了

strtok 这个函数,分割成多个子串,子串取第一个字母,转大写就行了。

qq_41001295
qq_41001295 然而我还没学strtok。。。。谢谢了我去研究研究
2 年多之前 回复

函数调用时使用地址传递。

思路:先定义一个变量f用来标记是否是单词的开始位置,如果是开始位置就输出大写字母,并把f标记成false,如果遇到空格,就把f标记成true。依次遍历字符串即可。

参考代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdio.h"
int main() {
char a[100];
int i;
bool f=true;
gets(a);
for(i=0;a[i]!='\0';i++) {

if(f){
printf("%c",a[i]-32);
f=false;
}
else
printf("%c",a[i]);
if(a[i]==' ')
f=true;
}

return 0;
}
/*
运行结果:
i love you
I Love You
*/

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐