给你 n 行带空格的字符串,请输出每行字符串的首字母。 输入描述 第一行输入一个整数 n(1≤n≤1000),表示行数。 接下来的 n 行,每一行输入一串带空格的字符串 (长度不大于100)。 输出描述 输出每行字符串的首字母。用c语言解决
时间: 2024-09-18 12:01:17 浏览: 37
在 C 语言中,你可以通过遍历每行字符串并获取每个单词的第一个字符来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
void print_initial_letters(int n) {
for (int i = 0; i < n; i++) {
char str[101];
fgets(str, sizeof(str), stdin); // 读取一行字符串
if (str[strlen(str)-1] == '\n') { // 去除末尾的换行符
str[strlen(str)-1] = '\0';
}
char* word = strtok(str, " "); // 使用空格分隔单词
while (word != NULL) { // 遍历每个单词
printf("%c ", word[0]); // 输出首字母
word = strtok(NULL, " ");
}
printf("\n"); // 每行结束符
}
}
int main() {
int n;
scanf("%d", &n);
print_initial_letters(n);
return 0;
}
```
该程序首先读取行数 `n`,然后循环 `n` 次,每次读取一行字符串,并使用 `strtok` 函数分割出单词。接着,它打印出每个单词的首字母,并在每个单词之间添加空格。最后,对每一行结束时添加一个换行符。
阅读全文