一维数组排序c语言
答:include <stdio.h> // 排序函数,参数为待排序数组和数组长度 void sort(int arr[], int len) { int i, j, tmp;// 冒泡排序 for (i = 0; i < len - 1; i++) { for (j = 0; j < len - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 相邻元素比较,如果...
答:include<stdio.h> include<algorithm> using namespace std;define maxn 1000 int a[maxn];bool cmp ( int a, int b ) { return a > b;}int main(){ int i, n;printf ( "请输入要排序的元素个数:" );scanf ( "%d", &n );printf ( "请依次输入%d个数:", n );for ( i ...
答:int i,j,temp; printf("请输入数组大小!\n");scanf("%d",&N);printf("请为%d个元素赋值\n",N); for(i=0;i<N;i++)scanf("%d",&A[i]); for(i=0;i<N;i++)for(j=0;j<N-i;j++)if(A[j]>A[j+1]){ temp=A[j];A[j]=A[j+1];A[j+1]=temp;} } printf("排序结果:\n"...
答: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\t",a[i]);} system("pause");return 0;}
答:之后将指针数组内的地址值依次取出来与a数组首地址相减,得到的就是原来的位置。利用的原理:数组内地址是连续的!include <stdio.h>int main(){ int a[5]={3, 8, 4, 7, 6}, b[5]={8, 7, 6, 4, 3},c[5],i,j,*p[5]; for(i=0;i<5;i++) { for(j=0;j...
答:include<stdio.h>#include<string.h>#define N 5int main(){ int a[N],b[N],c[N],i,j,temp; for(i=0;i<N;i++){//输入数组,并用b保存数组a的值 scanf("%d",&a[i]); b[i]=a[i]; } for(i=0;i<N-1;i++)//对a从大到小冒泡排序 for(j=0;...
答:给你看看C语言的三种排序方法吧,这是我们老师给总结的,你看懂后就自己在写这个程序吧!一、冒泡法(起泡法)算法要求:用起泡法对10个整数按升序排序。算法分析:如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次相邻元素的两两比较,在第j趟比较中要进行n-j次两两比较。比较的顺序...
答:include <stdio.h>int main(){int a[10];int temp;printf("输入5个数:\n");for(int i=0;i<5;i++){ printf("第%d个数",i+1);scanf("%d",&a[i]);} for( i = 0;i<5;i++)for(int j = i+1;j<5;j++)if(a[i]>a[j])//降序只要改变这里的大于号就行了{temp = ...
答:include include include intmain(){ inti,j,n,k,t,a[100];srand((unsigned)time(NULL));
答:define N 10 define ShengXu 0 void input(int a[],int n){ int i;printf("请输入%d个整数:\n",n);for(i=0;i<n;i++){ scanf("%d",&a[i]);} } void output(int a[],int n){ int i;for(i=0;i<n;i++){ printf("%d ",a[i]);} } void sort(int a[],int n)...
网友评论:
沈宗17262892795:
c语言一维数组冒泡排序 -
6837澹官
: 如果遇到相等的值不进行交换,那这种排序方式是稳定的排序方式. 原理:比较两个相邻的元素,将值大的元素交换到右边 思路:依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面. (1)第一次比较:首先比较第一和第二...
沈宗17262892795:
C语言 分别用两种方法给一维数组a[5]={6,2, - 2,5,7}排序 第一种方法是冒泡法(相邻两 -
6837澹官
: 冒泡排序#include <stdio.h>//输出数组中的数据 void Output(int *a, int len);//冒泡排序 void Scort(int *a, int len); void main() { int a[5] = {6, 2, -2, 5, 7}; //输出排序前的数据 printf("排序前:"); Output(a,5); Scort(a,5);//调用冒泡排序函数 printf...
沈宗17262892795:
C语言中一维数组的简单排序 -
6837澹官
: main() { int a[5],i,j,t,k,min; printf("please input 5 num!\n"); scanf("%d",&a[0]); min=a[0]; for(i=1;i<5;i++) { scanf("%d",&a[i]); if(min>a[i]) min=a[i]; } printf("%d ",min);}
沈宗17262892795:
C语言,对存储在一维数组的字符排序 -
6837澹官
: 你要问的是什么?排序常用算法有选择和冒泡排序,你的是选择排序的具体实现. 另外,while判断有误,应该修改为while(scanf("%c%c%c",&a[0],&a[1],&a[2])!=1)
沈宗17262892795:
C语言一维数组排序 -
6837澹官
: 应该是因为输出的时候最后一个数字之后不需要空格,输出函数改为如下: void PrintArr(int a[], int n) {int m;printf("%d", a[0]);for(m=1 ; m<n ; m++)printf(" %d",a[m]);printf("\n"); } 另外数组的定义大小不能为变量,将int a[n];改为int a[20];
沈宗17262892795:
利用C语言中的一维数组,输入数据,进行排序,然后以每行10列的方式输出,并找到指定的个数,求指教. -
6837澹官
: 参考以下代码#include #include #include "string.h" int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { \x09printf("%d\n",a+b); } return 0; }
沈宗17262892795:
用C语言对一维数组排序,并输出原来的位置 -
6837澹官
: 可以先用冒泡排序对数组进行排序,然后对排序的数组进行遍历,找出其在排序之前数组中的位置,参考代码如下:#include<stdio.h>#include<string.h>#define N 5 int main() { int a[N],b[N],c[N],i,j,temp; for(i=0;i<N;i++){//输入数组,并用b保存数...
沈宗17262892795:
C语言一维数组: 字符串排序:编程实现对char country[3] [10]={"CHINA" -
6837澹官
: #include<stdio.h> #include <string.h> void main ( ) {char temp[10],country[3] [10]={"CHINA","JAPAN","KOREA"};int i,m; for(m=1;m<=3;m++)for(i=0;i<3;i++){if(strcmp(country[i], country[i+1])<0){strcpy(temp,country[i]);strcpy(country[i],...
沈宗17262892795:
c语言 定义一个函数,将一个一维数组中数据从小到大排序 -
6837澹官
: #include<stdio.h> #define N 10 void sortarray(int *a,int n) { int i,j,k; for ( i=0;i<n-1;i++ ) for ( j=i+1;j<n;j++ ) if ( a[i]>a[j] ) {k=a[i];a[i]=a[j];a[j]=k;} } void main() { int a[N],i; for ( i=0;i<N;i++ ) scanf("%d",&a[i]); for ( i=0;i<N;i++ ) printf("%d ",a[i]); printf("\n...
沈宗17262892795:
用C语言编写程序使一个一维数组内的数从大到小排列 -
6837澹官
: #include#include using namespace std;#define maxn 1000 int a[maxn]; bool cmp ( int a, int b ) { return a > b; }int main() { int i, n; printf ( "请输入要排序的元素个数:" ); scanf ( "%d", &n ); printf ( "请依次输入%d个数:", n ); for ( i = ...