编写一函数void invert(int x[],int n)将x中的值前后颠倒,即将x[0]与x[n-1]的值交换,x[1]与x[n-2]的值交换,直到交换完毕。编写主函数调用它,在主函数中输入/输出数据。
时间: 2024-05-02 15:23:33 浏览: 147
好的,我可以回答这个问题。以下是代码:
```
#include <stdio.h>
void invert(int x[], int n) {
int temp;
for (int i = 0; i < n / 2; i++) {
temp = x[i];
x[i] = x[n - i - 1];
x[n - i - 1] = temp;
}
}
int main() {
int x[100], n;
printf("请输入数组大小n: ");
scanf("%d", &n);
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &x[i]);
}
printf("原数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", x[i]);
}
invert(x, n);
printf("\n颠倒后的数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", x[i]);
}
return 0;
}
```
你可以将以上代码复制到你的代码编辑器中运行。
相关问题
编写函数void invert(int a[],int n)将数组a中的数按颠倒的顺序重新存放。在操作时,只能借助一个临时存储单元而不得另外开辟数组,参数n为数组中的元素个数。
好的,这是一个编程问题,可以回答。以下是代码实现:
void invert(int a[], int n) {
int temp;
for(int i=0; i<n/2; i++) {
temp = a[i];
a[i] = a[n-i-1];
a[n-i-1] = temp;
}
}
这个函数实现了将数组a中的数按颠倒的顺序重新存放,只使用了一个临时存储单元。
用c语言基础知识编写代码编写一个函数invert(s),颠倒输入的字符串参数s后返回。在main()函数中测试此函数:从键盘输入一个正整数n(n∈[1,20]),然后再输入n个字符串(长度不大于100),对于每一个字符串,然后调用invert函数进行颠倒字符串操作,将颠倒后的字符串打印在屏幕上。
好的,这是一个关于C语言编程的问题。以下是invert函数的代码:
```c
#include <stdio.h>
#include <string.h>
void invert(char s[]) {
int i, j;
char temp;
for (i = 0, j = strlen(s) - 1; i < j; i++, j--) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
int main() {
int n, i;
char str[100];
scanf("%d", &n);
getchar();
for (i = 0; i < n; i++) {
fgets(str, 100, stdin);
invert(str);
printf("%s", str);
}
return 0;
}
```
函数invert接受一个字符串参数s,使用双指针法将字符串颠倒之后返回。在main函数中,先输入一个正整数n,再循环输入n个字符串,对每个字符串调用invert函数进行颠倒操作,最后输出颠倒后的字符串。注意使用fgets进行输入,避免输入的字符串长度超过数组长度。
阅读全文