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

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

思路:先定义一个变量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
*/

每个单词的首字母吗?

SP 还是 ST?

每个单词的首字母吗?

SP 还是 ST?

emmmm是SP我打错了

emmmm是SP打错了

emmmm是SP打错了

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

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