1、请编写一个函数fun,它的功能是:复制n个字符串,并以一行的形式输出。 如程序运行时输入abc,则屏幕显示: abc abcabcabc。使用C语言实现
时间: 2024-03-21 19:42:08 浏览: 101
好的,请看下面的代码实现:
```c
#include <stdio.h>
#include <string.h>
void fun(char *str, int n) {
for (int i = 0; i < n; i++) {
printf("%s", str);
}
}
int main() {
char str[100];
int n;
printf("请输入要复制的字符串:");
scanf("%s", str);
printf("请输入要复制的次数:");
scanf("%d", &n);
fun(str, n);
return 0;
}
```
函数 `fun` 接受一个字符串 `str` 和一个整数 `n`,然后使用循环输出 `str` 共 `n` 次。在循环中,每次都输出一次 `str`,即可实现复制字符串的功能。最后在 `main` 函数中先提示用户输入要复制的字符串和复制的次数,然后调用 `fun` 函数即可。
注意,在本程序中,我们使用了 `scanf` 函数来读取用户的输入,但是这种方式容易受到缓冲区溢出的问题,不够安全。如果要读取带空格的字符串,建议使用 `fgets` 函数。
相关问题
请用c语言编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的顺序依次放到一个字符串中。主函数中接收一个字符串并将其输出成二维数组
以下是函数fun的代码:
```c
void fun(char *str, char arr[][N], int M, int N) {
int i, j, k;
for (j = ; j < N; j++) {
for (i = ; i < M; i++) {
k = j * M + i;
str[k] = arr[i][j];
}
}
str[k] = '\';
}
```
其中,str是存放结果的字符串,arr是存放字符数据的二维数组,M和N分别是数组的行数和列数。
以下是主函数的代码:
```c
int main() {
char arr[M][N] = {{'a', 'b', 'c'}, {'d', 'e', 'f'}, {'g', 'h', 'i'}};
char str[M * N + 1];
fun(str, arr, M, N);
printf("%s\n", str);
return ;
}
```
其中,arr是一个3行3列的二维数组,存放了字符数据。str是一个长度为10的字符数组,用来存放结果。在调用函数fun之后,将结果输出即可。
请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据, 按列的顺序依次放到一个字符串中
```python
def fun(arr):
m = len(arr)
n = len(arr[0])
res = ''
for j in range(n):
for i in range(m):
res += arr[i][j]
return res
```
测试:
```python
arr = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']]
print(fun(arr)) # 'adgbehcfi'
```
阅读全文