升序排序編程
Ⅰ 編寫程序,對一個整型數組使用選擇排序法進行升序排序。哪位高手幫我逐一解釋一下那個代碼每一句的含義
#include<iostream>
#include<iomanip> 這兩行是頭文件,就是程序要調用的文件路徑
using namespace std; C++的命名空間
int main()
{
int a[100],i,j,t,count=0; 定義一個整型數組和4個整型變數
for(i=0;i<=99;i++) 這是循環條件
{
cin>>a[i]; 循環輸入100個整型數字
if(a[i]==0) break; 如果輸入的數字是0,就跳出循環
else count++; 否則,就加1
}
for(i=0;i<count;i++) cout<<endl<<setw(4)<<a[i];
cout<<endl<<endl; 結尾語句
for(i=0;i<count-1;i++) 循環條件
for(j=i+1;j<count ;j++) 同上
if(a[i]>a[j]) {t=a[i],a[i]=a[j],a[j]=t;} 循環排序,從小到大排序
for(i=0;i<count;i++) cout<<setw(4)<<a[i];
getchar(); 讓程序不退出,相當於死循環
return 0; 退出程序語句
}
Ⅱ c語言編程 將a[10]數組中10個數分別按升序和降序排列的程序。
int a[10];
int i, j, k;
int t;
... (輸入10個數字到a中,略過)
for (i=0; i<9; i++) {
k = i;
for (j=i+1; j<10; j++) {
if (a[k] < a[j]) // 現在這樣是降序排列,將<改成>,就變成升序排列
k = j;
}
if (k != i) {
t = a[k];
a[k] = a[i];
a[i] = t;
}
}
Ⅲ C語言:編寫一個程序用冒泡排序實現升序排列
1、首先打開一個空白的C語言文件,首先先定義一組待排序的數列以及各個變數,接著就是用來處理排序的邏輯:
Ⅳ 編程對一組數據升序排列,並輸出結果(c語言)
實現排序的演算法很多,如選擇排序、冒泡排序、插入排序、冒泡排序、堆排序、快速排序等,
這里提供一個插入排序的方法給你。
#include<stdio.h>
voidInsertionSort(int*iData,intiLen)
{
if((NULL==iData)&&(iLen<1))
return;
intiTemp;
for(inti=2;i<=iLen;i++)
{
iTemp=iData[i];
for(intj=i;j>0;j--)
{
if(iTemp<iData[j-1]){
iData[j]=iData[j-1];
}
else{
break;
}
}
iData[j]=iTemp;
}
}
voidp(int*iData,intiLen)
{
for(inti=0;i<iLen;i++){
printf("%d ",iData[i]);
}
printf(" ");
}
intmain()
{
intiData[11]={3,5,7,2,9,4,8,1,6,0,1};
InsertionSort(iData,11);
p(iData,11);
return0;
}
其他的排序實現演算法參考:
http://blog.csdn.net/guoxiaojie_415/article/details/47682173
Ⅳ C語言:編程輸入n個整數,用選擇法排序將它們按升序重新排列後輸出。
代碼如下:
//#include"stdafx.h"//vc++6.0加上這一行.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
intn,x[20],i,j,k;
while(1){
printf("Inputn(intn<=20)... ");
if(scanf("%d",&n),n==0)
break;
for(i=0;i<n;scanf("%d",x+i++));
printf(" Aftersortingasfollows: ");
for(i=0;i<n;i++){
for(k=i,j=k+1;j<n;j++)
if(x[k]>x[j])k=j;
if(k!=i){
j=x[k];
x[k]=x[i];
x[i]=j;
}
printf(i<n-1?"%d":"%d ",x[i]);
}
}
return0;
}
Ⅵ c語言編程實現把整形數組a[6]按照從小到大升序排列
隨便選擇一種排序方法就可以了,比如選擇排序
#include<stdio.h>
intmain()
{
inta[6];
inti;
for(i=0;i<6;++i){
scanf("%d",&a[i]);
}
intj,k;
for(i=0;i<6;++i){
k=i;
for(j=i+1;j<6;++j){
if(a[k]>a[j])k=j;
}
if(k!=i){
intt=a[k];
a[k]=a[i];
a[i]=t;
}
}
for(i=0;i<6;++i){
printf("%d",a[i]);
}
printf(" ");
return0;
}
Ⅶ 編程實現數組按升序排序。(自己給定數組中元素的值
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("請輸入一個整數");
int i = int.Parse(Console.ReadLine());
String str = Console.ReadLine();
if (i >= 0 && str == "up")
{
for (int j = 0; j <= i; j++)
Console.Write(j + " ");
}
else
{
if (i < 0)
for (int k = -i; i < 1; i++)
Console.Write(i + " ");
}
Console.WriteLine();
}
}
}
Ⅷ java編程題: 1、編程實現對10個整數,進行升序排序,並求最大值。 2、編程實現將文件m
//求最大值
publicclassMaxDemo{
publicstaticvoidmain(String[]args){
int[]arr={1,1,4,5,45,6,48,6};
java.util.Arrays.sort(arr);
System.out.println("排序後為:"+java.util.Arrays.toString(arr));
System.out.println("最大值:"+arr[arr.length-1]);
}
}
//拷貝文件
importjava.io.*;
publicclassCopyDemo{
publicstaticvoidmain(String[]args)throwsIOException{
BufferedReaderfr=newBufferedReader(newFileReader("my.txt"));
BufferedWriterfw=newBufferedWriter(newFileWriter("D:\text.txt"));
Stringstr=null;
while((str=fr.readLine())!=null){
fw.write(str);
fw.newLine();
}
fw.close();
fr.close();
}
}
PS:有時間再來給你寫,現在上班!
Ⅸ 對10個整數進行排序(升序)。用C語言怎麼編程
你好。。
適合使用冒泡排序法。示例如下:
#include<stdio.h>
#defineSIZE8
voidbubble_sort(inta[],intn);
voidbubble_sort(inta[],intn)//n為數組a的元素個數
{
inti,j,temp;
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
{
if(a[i]>a[i+1])//數組元素大小按升序排列
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
intmain()
{
intnumber[SIZE]={95,45,15,78,84,51,24,12};
inti;
bubble_sort(number,SIZE);
for(i=0;i<SIZE;i++)
{
printf("%d",number[i]);
}
printf(" ");
}
希望有所幫助~
Ⅹ 編寫程序實現對4個字元串的升序排序
用什麼語言編程?