写一个c语言程序,1、从键盘输入字符串a,a中有若干个单词且单词间由一个或者多个空格相隔,字符串的开头和结尾也可能存在空格。设计一个程序将字符串a中每一个单词的首字母按照顺序放入字符串b中,并输出字符串b
时间: 2024-02-18 14:00:08 浏览: 58
下面是一个简单的 C 语言程序,实现了上述要求:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char a[1000], b[1000];
int i, j = 0, len;
printf("请输入字符串:\n");
fgets(a, 1000, stdin); // 使用 fgets 函数从标准输入读取字符串
len = strlen(a);
for (i = 0; i < len; i++) {
if (a[i] == ' ' || a[i] == '\n') // 判断是否是空格或者换行符
continue;
b[j++] = a[i]; // 将首字母存入字符串 b 中
while (a[i] != ' ' && a[i] != '\n' && i < len) // 跳过单词的其它字母
i++;
}
b[j] = '\0'; // 字符串 b 的末尾加上结束符
printf("输出字符串 b:\n");
printf("%s\n", b);
return 0;
}
```
在程序中,我们首先定义了两个字符数组 `a` 和 `b`,分别用于存储用户输入的字符串和每个单词的首字母。
然后,我们使用 `fgets()` 函数从标准输入中读取字符串,可以保证输入的字符串长度不超过 `1000`。
接着,我们遍历字符串 `a` 中的每个字符,如果是空格或者换行符,就跳过,如果是字母,则将其存入字符串 `b` 中,并且一直往后遍历,直到遇到下一个空格或者换行符。
最后,我们在字符串 `b` 的末尾加上结束符 `\0`,并使用 `printf()` 函数输出字符串 `b`。
阅读全文