1.定义两个数组,一个为输入,一个为储存逆序之后的数组。
#include<stdio.h>
void Reverse(int a[],int n,int b[]){
int i;
for(i=0;i<n;i++){
b[i] = a[n-1-i];
}
}
int main(){
int n;
printf("请输入数组的元素个数:\n");
scanf("%d",&n);
int a[n], b[n];
printf("请输入a数组的元素:\n");
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
Reverse(a,n,b);
printf("b数组为:");
for(int j=0;j<n;j++){
printf("%d ",b[j]);
}
return 0;
}
2.将一个数组的后面几个元素与前面几个元素互换
#include<stdio.h>
void Reverse(int a[], int n){
int i,m = n/2;
int temp;
for(i=0;i<m;i++){
temp = a[i];
a[i] = a[n-1-i];
a[n-1-i] = temp;
}
}
int main(){
int n;
printf("请输入数组元素的个数:\n");
scanf("%d",&n);
int a[n];
printf("请输入a数组:\n");
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
Reverse(a,n);
printf("a数组逆序输出为:\n");
for(int i=0;i<n;i++){
printf("%d ",a[i]);
}
return 0;
}
3.冒泡排序
#include<stdio.h>
void BubbleSort(int a[],int n){
int flag = 1;
int temp;
for(int i = 1; i<n && flag == 1; i++){
flag = 0;
for(int j=0;j<n-i;j++){
if(a[j] > a[j+1]){
flag = 1;
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
int main(){
int n;
printf("请输入数组元素的个数:\n");
scanf("%d",&n);
int a[n];
printf("请输入排序前的数组:\n");
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}x
BubbleSort(a,n);
printf("排序后的数组为:\n");
for(int i=0;i<n;i++){
printf("%d ",a[i]);
}
return 0;
}