int a[100] = {0};
int a[] = {1,2,3,4,5};
#include "stdio.h" #define N 5 void main() { //变量定义 int i, j; int a[N], t; //提示信息 printf("Please enter %d numbers:\n",N); //数据输入 for(i=0; i<N; i++) scanf("%d", &a[i]); //排序算法 for(i=0; i<N-1; i++) //N-1次排序 for(j=0; j<N-1-i; j++) //第一次比较N-1次,逐次递减 { if(a[j]>a[j+1]) //交换顺序(由小到大,由大到小改为<号) { t = a[j]; a[j] = a[j+1]; a[j+1] = t; } } //数据输出 for(i=0; i<N; i++) printf("%d ", a[i]); }
#include "stdio.h" #define N 5 void main() { //变量定义 int i, j, t; int a[N], k; //提示信息 printf("Please enter %d numbers:\n",N); //数据输入 for(i=0; i<N; i++) scanf("%d", &a[i]); //排序算法 for(i=0; i<N-1; i++) //N-1次选择 { k = 0; //默认第一个数最大(小) for(j=1; j<N-i; j++) //选择最大(小)数的角标 if(a[k]<a[j]) k = j; t = a[N-1-i]; //交换数据 a[N-1-i] = a[k]; a[k] = t; } //数据输出 for(i=0; i<N; i++) printf("%d ", a[i]); }
在有序数组指定位置插入任意N个数
#include "stdio.h" #define N 5 void main() { //变量定义 int n[10+N] = {0,1,2,3,4,5,6,7,8,9}; int a[N], k; int i; //提示信息与数据输入 printf("Please enter the insertion location:\n"); scanf("%d", &k); printf("Please enter %d numbers:\n",N); for(i=0; i<N; i++) scanf("%d", &a[i]); //数据插入 for(i=10-1; i>=k; i--) n[i+N] = n[i]; for(i=k; i<k+N; i++) n[i] = a[i-k]; //数据输出 for(i=0; i<10+N; i++) printf("%d ", n[i]); }
#include "stdio.h" void main() { //变量定义 int n[10] = {0,1,2,3,4,5,6,7,8,9}; int k, i, j; //提示信息与数据输入 printf("Please enter the data to be deleted:\n"); scanf("%d", &k); //数据删除(只删除第一个位置) for(i=0; i<10; i++) if(n[i]==k) { for(j=i; j<10-1; j++) n[j] = n[j+1]; break; } //数据输出 if(i==10) printf("Data not found!\n"); else for(i=0; i<10-1; i++) printf("%d ", n[i]); }