如何用C语言设计程序排列6个数字的大小顺序?

如何用C语言设计程序排列6个数字的大小顺序?,第1张

排序数组可以使用冒泡算法:如果前一个数核拆据比后一个大,则交换。

{

int i,j,t,a[6]

printf("配搜Please input 6 integers:\n")

for(i=0i<6i++)

scanf("%d",&a[i])

for(i=0i<5i++) /* 冒泡法排序 */

for(j=0j<6-i-1j++)

if(a[j]>a[j+1])

{t=a[j]/* 交换a[i]和a[j] */

a[j]=a[j+1]

a[j+1]=t

}

优点:

简洁紧凑、灵改卖枣活方便:C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行 *** 作,而这三者是计算机最基本的工作单元。

以上内容参考:百度百科-c语言程序设计

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

2、定义数组和变量:#include<stdio.h>main(){char a[100], b[100], c[200],  *pint 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、输出最后的结果。

实现思路:就是输入的数字之间有固定的规则,之后读取后,旅搭依次进行大小比较,之后直到排序结束,输出结果即可:

import java.util.Scanner

public class ArrangedNumbers {

Integer arryNum[]

int count = 0/* 统计数字 */

boolean judgeIsNum = true

StringBuffer stringbuffer = new StringBuffer()

Scanner scanner = new Scanner(System.in)

String character

int memoryNum

/**

* 任意输裂镇山入字符

*

* @return 返回输肆中入的内容

*/

// public String inputNum() {

// return null

// }

/**

* 判断为数字

*/

public void judgmentFigures() {

while (judgeIsNum) {

System.out.println("请任意输入数字,以空格间隔,以回车结束!")

character = scanner.nextLine()

char[] figures = character.toCharArray()

for (int i = 0i <figures.lengthi++) {

if (!(figures[i] >= '1' &&figures[i] <= '9')

&&figures[i] != 32) {

judgeIsNum = true

break

}

judgeIsNum = false

}

if (!judgeIsNum)

stringbuffer.append(character)

}

String inputContent = stringbuffer.toString()

String[] numbers = inputContent.split("\\s+")

arryNum = new Integer[numbers.length]

for (int i = 0i <numbers.lengthi++) {

try {

memoryNum = Integer.parseInt(numbers[i])

arryNum[count] = new Integer(memoryNum).intValue()

count++

} catch (Exception e) {

/* 如果不出现异常,则说明肯定是数字 */

}

}

}

/**

* 对数字进行排序

*/

public void compareNum() {

for (int i = 0i <arryNum.lengthi++) {

for (int j = 0j <arryNum.length - i - 1j++) {

if (arryNum[j] >arryNum[j + 1]) {

Integer temp = arryNum[j]

arryNum[j] = arryNum[j + 1]

arryNum[j + 1] = temp

}

}

}

}

/**

* 按升序排列输出

*/

public void outputNum() {

System.out.println("按升序排序:")

for (int i = 0i <arryNum.lengthi++) {

System.out.println(arryNum[i])

}

}

}

//package com.color.program

public class JJArrangedNumbers {

public static void main(String args[]) {

ArrangedNumbers arrangeNumbers = new ArrangedNumbers()

arrangeNumbers.judgmentFigures()

arrangeNumbers.compareNum()

arrangeNumbers.outputNum()

}

}

--------运行结果-------

请任意输入数字,以空格间隔,以回车结束!

123 4 5 6 7 7,23

请任意输入数字,以空格间隔,以回车结束!

2 e adf 3 4

请任意输入数字,以空格间隔,以回车结束!

5 6 6 76 7

按升序排序:

5

6

6

7

76


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12502955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存