knrt.net
当前位置:首页 >> 将一组数据按从小到大排列后输出,要求显示每个元素及它们在原数组中的下标。 >>

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

#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(*(

#include "stdio.h" #include "stdlib.h" int main() { int a[1000]; int b=0,c=0,e=0,w,q; printf("请输入排序个数!\n\n"); scanf("%d",&w); system("cls"); for(e=0;e<w;e++) { scanf("%d",&a[e]); } system("cls"); b=0; printf("1.从小

zxqs.net | ldyk.net | bestwu.net | qhgj.net | | 网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com