C语言数组七个数升序排列和降序排列怎么编程?

如题所述

1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。

2、定义数组和变量:#include<stdio.h>main(){char a[100], b[100], c[200],  *p;int i = 0, j = 0, k = 0;。

3、输入字符串: printf("please input string a:\n");scanf("%s", a);                                  /*输入字符串1放入a数组中*/。

4、输入字符串:printf("please input string b:\n");scanf("%s", b);                                  /*输入字符串2放入b数组中*/。

5、给字符串进行排序。

6、链接字符串并输出:if (a[i] == '\0')                                    /*判断a中字符是否全都复制到c中*/

p = b + j;                                  /*p指向数组b中未复制到c的位置*/。

7、输出最后的结果。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-16
#include<stdio.h>void Lsort(int a[],int n);//函数声明
void Hsort(int a[],int n);void main()
{
int a[7]; //7个数的数组。定义的是整数,如需实数,改为float型。
int i;
printf("\nplease input seven integers\n");
for(i=0;i<7;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf("\nthe integers you input are:\n");
for(i=0;i<7;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
printf("\n");
Lsort(a,7); //函数调用
Hsort(a,7);
}//===========================升序======================================
void Lsort(int a[],int n)
{
int i,j,k; //用于循环控制。
int m; //作为中间变量,也称暂存单元。
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[k]>a[j])
{
k=j;
}
if(k!=i)
{
m=a[i];
a[i]=a[k];
a[k]=m;
}
}
printf("\n数组升序排序后为:\n");
for(i=0;i<n;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
printf("\n");
}//===========================降序==========================
void Hsort(int a[],int n)
{
int i,j,k; //用于循环控制。
int m; //作为中间变量,也称暂存单元。
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[k]<a[j])
{
k=j;
}
if(k!=i)
{
m=a[i];
a[i]=a[k];
a[k]=m;
}
}
printf("\n数组降序排序后为:\n");
for(i=0;i<n;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
printf("\n");
}本回答被网友采纳

C语言数组七个数升序排列和降序排列怎么编程?
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。2、定义数组和变量:#include<stdio.h>main(){char a[100], b[100], c[200], *p;int i = 0, j = 0, k = 0;。3、输入字符串: printf("please input string a:\\n");scanf("%s", a); \/*输入字符串1放入a数组...

如何用c语言进行按升序排序?
方法步骤如下:1.首先,定义一个结构,包括数值、排名和序号。2.定义结构数组变量d,保存所有整数信息。3.接下来,定义一个自定义函数来比较整数序列中任意两个整数的大小。4.定义一个自定义函数,比较整数序列中任意两个数字的序数大小。5.在主函数中,首先定义两个整数,并保存整数个数和排名计数...

用C语言编写一函数,函数实现以下数字的排序[升序和降序]
升序和降序的区别只是IF语句里面的比较符号变化,升序为〉,然后互换。降序为〈,然后前后两个数组元素呼唤。

求C语言将数组元素大小排序!!
思想:每次相邻两个数比较,若升序,则将大的数放到后面,一次循环过后,就会将最大的数放在最后。10、2、3、4、5、6、9、8、7、1是输入的待排序的数列,经过第一次排序,将最大的,10放在最后,第二次排序,将剩下的2、3、4、5、6、9、8、7、1进行冒泡,将当前最大的9放在倒数第二的位...

c语言数组的排序
可以采用冒泡排序的方法。以下给题主一个对既定数组进行升序、降序排序的代码 include <stdio.h>#include #define elemType int \/*元素类型*\/#define LEN 100 \/*数组长度上限*\/#define ASC 0 \/*升序*\/#define DESC 1 \/*降序*\/\/*冒泡排序*\/\/*参数说明:*\/\/*elemType arr[]:排序目标数组*\/...

用c语言编程
int px(int *nums,int flag);\/\/选择排序flag=1升序,flag=0降序 int main(){ int *nums=NULL;char rPath[]="c:\\\\000.dat",wPath[]="c:\\\\rank.dat";if(!(nums=read2Nums(rPath))) return 1;showNums(nums);printf("数组升序排列:\\n");if(px(nums,1)==-1) return 1;show...

c语言编程: 将一组数按从大到小的顺序排序
main(){ int x;printf("请输入要排序数字个数:");scanf("%d",&x);int i,j,k,a,b,num[x];printf("输入数据:");for(i=0;i<x;i++)scanf("%d",&num[i]);for(j=0;j<x;j++){ for(k=j+1;k<x;k++)if(num[k]>num[j]){ a=num[j];num[j]=num[k];num[k]=a;}...

c语言的两种排序?
1、选择排序法 要求输入10个整数,从大到小排序输出 输入:2 0 3 -4 8 9 5 1 7 6 输出:9 8 7 6 5 3 2 1 0 -4 代码:include<stdio.h> int main(int argc,const char*argv[]){ int num[10],i,j,k,l,temp;\/\/用一个数组保存输入的数据 for(i=0;i<=9;i++){ scanf(...

C语言:编写一个程序用冒泡排序实现升序排列
1,2,3,4,5,6,7,8,9,99。冒泡排序算法的原理如下:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有的元素重复以上的步骤,除了最后一个。4、持续每次对越来...

C语言排列数字大小
排序数组可以使用冒泡算法:如果前一个数据比后一个大,则交换。include <stdio.h>\/\/ 使用冒泡算法升序数组srcvoid sort(int *src, int len){ int tem; for (int i = 0; i < len; i++) { for (int j = 0; j < len - i - 1; j++) \/\/ 每循环一次,则少一次 ...

相似回答