在主函数中输入1、2、3、4、5、6、7、8、9、10一共10个整数,调用函数sum求它们的和,结果在主函数中输出(要求:实参用数组 名,形参用指针变量)。 在主函数中输入wyzml字符串,调用converse函数将该字符串逆序,结果在主函数中输出。(要求 :实参用字符
时间: 2024-02-28 15:53:08 浏览: 62
好的,您的问题跟上一个问题类似,只是输入内容和字符串不同。以下是代码:
```c
#include <stdio.h>
#include <string.h>
// 求和函数
int sum(int *ptr, int n) {
int result = 0;
for (int i = 0; i < n; i++) {
result += *(ptr + i);
}
return result;
}
// 字符串逆序函数
void converse(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = *(str + i);
*(str + i) = *(str + len - i - 1);
*(str + len - i - 1) = temp;
}
}
int main() {
// 求和
int arr[10];
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
int s = sum(arr, 10);
printf("这10个整数的和为:%d\n", s);
// 字符串逆序
char str[100];
printf("请输入一个字符串:\n");
scanf("%s", str);
converse(str);
printf("逆序后的字符串为:%s\n", str);
return 0;
}
```
代码中使用了与上一个问题相同的两个函数,只是输入内容和字符串不同。在 `main` 函数中首先输入 10 个整数,然后调用 `sum` 函数计算它们的和,并输出结果。接着,输入一个字符串,调用 `converse` 函数将其逆序,并输出逆序后的结果。注意,输入字符串时不需要加 `&`,因为数组名本身就是一个地址。
阅读全文