编写c语言程序实现将一个长度为n的一维数组中的元素按颠倒的顺序重新存放并输出颠倒后的数组元素

供稿:hz-xin.com     日期:2025-01-13
C语言编写程序,将一个一维数组的值按逆序重新存放。

#include
int main()
{
int a[5]={8,6,5,4,1},i,n=5,temp;
for(i=0;i<n/2;i++)
{
temp=a[i];
a[i]=a[n-i-1];
a[n-i-1]=temp;
}
for(i=0;i<n;i++)
{
printf("%d",a[i]);
}
system("pause");
return 0;
}

扩展资料:
选择排序
主要思想就是,基本上默认数组中第一个元素为最大(最小)值,之后将这个元素和后面的每个元素都进行比较,以由大到小排序为例,当第一个值遇到比其大的,就进行交换。这样第一轮过后,第一位就是最大的。
接着进行第二轮,由第二个数开始逐个比较,遇到比第二个数大的进行交换,这样第二轮之后第二个数就是第二大的了,以此类推,不断进行选择,最后完成排序。
void selectSort(int numbers[], int length) {
for (int i = 0; i < length; i++) {
for (int j = i + 1; j < length; j++) {
if (numbers[i] < numbers[j]) {
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}
}
}
int main(int argc, const char * argv[]) {
int myArray[] = {42, 7, 1, -3, 88};
int length = sizeof(myArray) / sizeof(myArray[0]);
selectSort(myArray, length);
for (int i = 0; i < length; i++) {
printf("%i ", myArray[i]);
}
return 0;
}
当第一个数来比较的时候,i = 0,那么j应该等于i + 1,因为第一个数要和第二个数开始比,并且比较length - 1次;当i = 1时,j = 2,并且比较length - 2次,以此类推;上面写的是由大到小排序。

1、首先以一个数组变量和一个数组长度变量。

2、接下来假设有一个数组交换的函数和一个输出的函数。

3、接下来我们开始编写逆序交换。

4、此时,我们开始swap交换函数。

5、然后我们定义函数声明。

6、然后再编写输出函数就可以了,全部代码如图。

其实逆序啊,就是将数组的顺数第n个和倒数第n个交换,直到n<数组长度的一半.
eg:假设是int类型的数组:
void
chen(int
&a,int
len)
{
int
tmp
=
0;
for(int
i=0;i<len/2;i++)
{

tmp
=
a[i];

a[i]
=
a[n-i]
;

a[n-i]
= tmp;
}
}
//至于chen()中是使用*还是&,你可以再查查这两个符号的区别!

编写c语言程序实现将一个长度为n的一维数组中的元素按颠倒的顺序重新存...
其实逆序啊,就是将数组的顺数第n个和倒数第n个交换,直到n<数组长度的一半.eg:假设是int类型的数组:void chen(int &a,int len){ int tmp = 0;for(int i=0;i<len\/2;i++){ tmp = a[i];a[i]= a[n-i];a[n-i]= tmp;} } \/\/至于chen()中是使用*还是&,你可以再查查这两...

C语言:把一个长度为n的字符串中的字符依次后移m个位置,移出的字符移...
include<string.h> void move(char s[]){ int n=strlen(s),i;char a=s[n-1];for(i=n-1;i>0;i--)s[i]=s[i-1];s[0]=a;} int main(){ int n,m;char s[1000];puts("输入字符串和要移动的次数");scanf("%s%d",s,&m);\/\/输入样例abcde 2 while(m--){ move(s);}...

c语言如何生成长度为n的二进制字符串的全排列
include "stdio.h"int main(int argc,char *argv[]){int n,i,m;char p[33];printf("please enter n(int n>0)...\\n");if(scanf("%d",&n)!=1 || n<1 || n>32){printf("Input error, exit...\\n");return 0;}for(i=0;i<n;p[i++]='0');p[i]='\\0';for(m=1...

C语言:编写一个调用函数实现从长度为n的元字符串中从第m个字符开始截取...
memcpy(destStr, srcStr + m, n - m);

c语言编程:键盘输入数组长度n的值,然后根据数组长度动态分配储存空间...
init_array(int *p,int n){ int i; srand((unsigned)time(NULL)); for(i=0;i<n;p[i++]=rand()%90+10);}void mysort(int *p,int n){ int i,j,k; for(i=0;i<n;i++){ for(k=i,j=k+1;j<n;j++) if(p[k]...

C语言怎么实现可变长度字符串
char * p = (char*)malloc(sizeof(char)*n)别忘了free C++和C#的string类型在最低层实际也是利用类似方法去做的 另外有一种 char str[SIZE_MAX]也有人喜欢用 realloc函数 只是不太推荐,主要原因是以前系统上这个函数操作会出问题,因为内存的原因 ...

C语言题目。编写程序实现,用户输入一个整数n,计算n!并输出。
include<stdio.h> int main(){ int n,i,j;scanf("%d",&n);int sum=1;for(i=1;i<=n;i++){ sum=sum*i;} printf("%d\\n",sum);return 0;}

如何用C语言编写程序输入一个正整数n,编程序输出从2到n间的所有完数...
C语言实现如下:include<stdio.h> void main(){ int i,j,k,n;scanf("%d",&n); \/\/输入一个正整数n for(i=2;i<=n;i++){ k=0;for(j=1;j<=i-1;j++)if(i%j==0) k+=j;if(k==i) printf("%d\\n",i);\/\/判断i的所有真因子之和是否等于i,是则输出i。} } 注意:...

急求一个c语言定义函数的程序,有一个参数但无返回值,实现输出一行n
printf("%d\\n",num_back);} 在主函数中,先定义一个变量,然后输入一个值,在a()这个函数中输出。当程序运行a(num);这一步时,把num的值赋值给num_back,在运行程序过程中,把实际参数的值传给形式参数,这就是函数参数的传递。形参和实参可能不只一个,如果多于一个时,函数声明、调用、定义...

编写一个c程序,从键盘输入一个长度为10的实型一维数组,然后顺序输出...
此程序首先定义了一个长度为10的数组,并通过for循环从用户处获取十个实数。之后再次使用for循环遍历数组,使用if语句找到最大值及其下标。最后,通过格式化输出语句依次输出数组元素和最大值及其下标。通过这个例子,你可以学习到如何使用C语言处理数组、循环和条件语句。这样的程序不仅能够帮助你熟悉C语言的...