编写一个简单的C语言程序:请输入下列字符串,并提取每个单词的首字母
时间: 2024-02-21 11:00:38 浏览: 102
好的,以下是一个简单的 C 语言程序,用于输入指定的字符串,然后提取每个单词的首字母:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[] = "Hello World, I am a C program!";
char *p = strtok(str, " ,!"); // 分割字符串为单词
while (p != NULL) {
printf("%c", toupper(p[0])); // 输出单词的首字母
p = strtok(NULL, " ,!"); // 继续分割字符串
}
return 0;
}
```
该程序使用了标准库函数 strtok 来将输入的字符串分割为单词,然后使用 toupper 函数将每个单词的首字母转换为大写字母,并输出到屏幕上。
需要注意的是,程序假定单词之间是使用空格符、逗号或感叹号分隔的。如果输入的字符串中使用了其他的分隔符,需要修改 strtok 函数的第二个参数。另外,由于 strtok 函数会修改输入的字符串,因此需要将输入的字符串复制到一个临时的字符数组中,以避免原始输入的字符串被修改。
相关问题
C语言输入字符串,提取每个单词的首字母
好的,以下是一个简单的 C 语言程序,用于输入一个字符串,然后提取每个单词的首字母:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin); // 读取字符串
char *p = strtok(str, " "); // 分割字符串为单词
while (p != NULL) {
printf("%c", toupper(p[0])); // 输出单词的首字母
p = strtok(NULL, " "); // 继续分割字符串
}
return 0;
}
```
该程序使用了标准库函数 strtok 来将输入的字符串分割为单词,然后使用 toupper 函数将每个单词的首字母转换为大写字母,并输出到屏幕上。
需要注意的是,程序假定单词之间是使用空格符分隔的。如果输入的字符串中使用了其他的分隔符,需要修改 strtok 函数的第二个参数。另外,由于 strtok 函数会修改输入的字符串,因此需要将输入的字符串复制到一个临时的字符数组中,以避免原始输入的字符串被修改。
c语言编写一个程序提取字符串提取首字母
好的,以下是一个简单的 C 语言程序,用于从字符串中提取第一个字母:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[50];
printf("请输入一个字符串:");
scanf("%s", str);
printf("字符串的首字母是:%c", str[0]);
return 0;
}
```
程序首先提示用户输入一个字符串,然后使用 scanf 函数将输入的字符串存储到一个字符数组中。接着,程序使用 printf 函数输出该字符串的首字母,也就是字符数组的第一个元素。
需要注意的是,程序假定用户输入的字符串不为空。如果用户输入一个空字符串,程序的行为可能是未定义的。此外,该程序只提取了字符串的首字母,如果需要提取更多的字符,需要修改程序。
阅读全文