排序数组可以使用冒泡算法:如果前一个数核拆据比后一个大,则交换。
{
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)