定义函数,提取一组字符串的首字符 函数接口定义: void fun(char* str[],int n,char *result); 指针数组str里存放n个字符串的首地址,n是字符串个数,提取首字符形成新的字符串,result指向该字符串 下面是测试代码 #include <stdio.h> #include <string.h> #include <stdlib.h> void fun(char* str[],int n,char *result); main() { int i,n; char *strn[10],t[20]; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s",t); strn[i]=(char*)malloc(strlen(t)+1); strcpy(strn[i],t); } fun(strn,n,t); printf("%s",t); } /* 请在这里填写答案 */ 输入样例: 在这里给出一组输入。例如: 3 aaa bbb ccc 输出样例: 在这里给出相应的输出。例如: abc
时间: 2024-04-14 22:29:41 浏览: 13
你可以使用以下代码实现这个函数:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void fun(char* str[], int n, char *result) {
for (int i = 0; i < n; i++) {
result[i] = str[i][0]; // 提取每个字符串的首字符
}
result[n] = '\0'; // 在结果字符串的末尾添加结束符
}
int main() {
int i, n;
char *strn[10], t[20];
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%s", t);
strn[i] = (char*)malloc(strlen(t) + 1);
strcpy(strn[i], t);
}
fun(strn, n, t);
printf("%s", t);
return 0;
}
```
这段代码定义了一个函数 `fun`,它接收一个指针数组 `str`,存放了 `n` 个字符串的首地址,以及一个指向结果字符串的指针 `result`。函数使用一个循环遍历 `str` 数组中的每一个字符串,然后将每个字符串的首字符存入 `result` 中。最后,在 `result` 字符串的末尾添加一个结束符。
为了测试这个函数,提供了一个 `main` 函数。它首先读取一个整数 `n`,表示字符串的个数。然后使用一个循环读取 `n` 个字符串,并将它们存入 `strn` 数组中。接下来调用 `fun` 函数来提取首字符,并将结果存入 `t` 字符串中。最后,输出 `t` 字符串。