将一组数据按从小到大排列后输出,要求显示每个元素及它们在原数组中的下标。

#include void main() { int a[10] = {3, 4, 1, 6, 2, 9, 5, 8, 7, 0}; int b[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int i, j; for (i = 0; i printf("%d ", a[i]); printf("\n"); for (i = 0; i { for (j = i + 1; j { if (a[i] { int t = a[i]; a[i] = a[j]; a[j] = t; t = b[i]; b[i] = b[j]; b[j] = t; } } } for (i = 0;

#include using namespace std; void main() { cout int a[6],b[6]; int i=0; while(i { cin>>a[i]; b[i]=i; i++; } for(i=0;i for(int j=i+1;j { if(a[i] { int temp=a[i]; a[i]=a[j]; a[j]=temp; temp=b[i]; b[i]=b[j]; b[j]=temp; } } cout for(i=0;i cout cout cout for(i=0;i cout cout}

创建数组时数组的长度必须是常量,不能是变量.int *a = new int[n]; int *b = new int[n]; 可以动态创建长度可变的数组

用结构体数组,保存值和下标,用快速排序函数qsort()排序#include <stdio.h>#include <stdlib.h>struct _NUM{ int val; int idx;};int compare (const void *elem1, const void *elem2 ){ _NUM*a=(_NUM*)elem1; _NUM*b=(_NUM*)elem2; return a->val-b

#define N 5 main() { int A[N]; int i,j,t; for(i=0;i

#include"string.h" int main(void) { char str1[500]={0},str2[256]={0};//定义二个数组,并赋初值为0 int i; gets(str1);//读取一个字符串 for(i=0;str1[i];i++) { str2[str1[i]]=1;//str1中每个字符的assic码作为str2的下标值,并把对应位置填充为1,同一个

int *arr; void sort() { for(int i=0;i<10;i++) { for(int j=i;j++;j<10) { if(arr[j]<arr[i]) { int tmp = arr[j]; arr[j] = arr[i]; arr[i] = tmp; } } } } void main() { arr = new int[10]; for(int i=0;i<10;i++) scanf("%d", arr + i); for(int i=0;i<10;i++)printf("%d ", *(arr + i)); sort(); for(

程序如下: #include<iostream>using namespace std;void SortAndShow(int arr[],int n){ int i,j,tmp[n]; for(i=0;i<n;i++)tmp[i]=i; //冒泡排序 ,比较数组元素,存储索引顺序在tmp中. for(i=0;i<n-1;i++) for(j=n-1;j>i;j--) if(arr[tmp[j]]<arr[tmp[j-1]]){ int p =

#include "stdio.h" main() { int min41(int *p); void out(int *p); int a[5][5]={{1,2,3,4,5},{6,7,8,9,0},{10,11,12,13,14},{15,16,17,18,19},{20,21,22,23,24}}; min41(a); out(a); getch(); } int min41(int *p) { int i,j=0,temp; for(i=0;i<25;i++) { for(j=0;j<25-i;j++) { if(*(

void sort(int a[], int left, int right) { int i,j,t; for(i=left;ifor(j=left;jif(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }这个就行,三个参数是数组名:起始索引和结束索引,不仅可以对数组排序,也可以对数组的一部分连续的元素进行排序(比如只对第几到第几个数排序)

相关文档

一组数据从大到小的编程
c语言数组从小到大输出
将一组元素从大到小排序
将一个数从数组中删除
数组从小到大排序
合并多个有序数组c语言
c语言中如何给数组排序
c语言数组从大到小排序
beabigtree.com
zxtw.net
yhkn.net
famurui.com
ppcq.net
电脑版