C语言(简单的)编写程序输入一维整形数组a[10],将其按由小到大排序后输出 编写C语言程序,把一个数组按从小到大的次序排列起来
c\u8bed\u8a00 \u7f16\u5199\u6570\u7ec4\u7a0b\u5e8f\u5b9e\u73b0\u957f\u5ea6\u4e3a10\u7684\u4e00\u7ef4\u6574\u5f62\u6570\u7ec4a \u8f93\u5165\u5341\u4e2a\u4e0d\u540c\u6570\u503c \u6c42a\u4e2d\u6700\u5c0f\u5143\u7d20\u53ca\u6240\u5728\u4f4d\u7f6e#include using namespace std; int a[11]; int main(){ int minpo=1; for (int i=1;i<=10;i++){ scanf("%d",&a[i]); if (a[i]<a[minpo]) minpo=i;}printf("%d %d\n",minpo,a[minpo]); }
\u6e90\u7a0b\u5e8f\u4ee5\u53ca\u7b97\u6cd5\u6ce8\u91ca\u5982\u4e0b\uff1a
#define _CRT_SECURE_NO_WARNINGS//VS\u7f16\u8bd1\u73af\u5883\u9700\u8981\u8fdb\u884c\u5b8f\u5b9a\u4e49\uff0cVC6.0\u53ef\u5ffd\u7565
#include//\u8f93\u5165\u8f93\u51fa\u5934\u6587\u4ef6
int main()
{
int number[10], New_number[10];//\u5b9a\u4e49\u6570\u7ec4\u7684\u6570\u636e\u7c7b\u578b\u4e3a\u6574\u578b
int i, j, m, n, k;//\u5b9a\u4e49\u53d8\u91cf\u7684\u6570\u636e\u7c7b\u578b\u4e3a\u6574\u578b
printf("input 10 number\uff1a");//\u6587\u5b57\u63d0\u793a
for (i = 0; i <= 9; i++)//\u7528\u5faa\u73af\u8f93\u5165\u6570\u503c\u7ed9\u6570\u7ec4number\u5e76\u8d4b\u7ed9\u6570\u7ec4New_number
{
scanf("%d", &number[i]);//\u8f93\u516510\u4e2a\u6574\u5f62\u6570\u5b57\u5230\u6570\u7ec4\u4e2d
New_number[i] = number[i];//\u6570\u7ec4number\u5143\u7d20\u8d4b\u7ed9\u6570\u7ec4New_number
}
for (n = 0; n <= 8; n++)//\u8981\u8fdb\u884c(10-1)\u7ec4\u6bd4\u8f83
for (j = 0; j <= 8 - n; j++)//\u6bcf\u7ec4\u8fdb\u884c(10\u51cf\u7b2c\u51e0\u7ec4)\u6b21\u6bd4\u8f83
{
if (number[j] > number[j + 1])//\u6bd4\u8f83\u5927\u5c0f\u5e76\u5c06\u5c0f\u7684\u8d4b\u7ed9\u524d\u9762\u7684\u6570\u7ec4
{
k = number[j];//\u5c06\u76f8\u5bf9\u8f83\u5927\u7684\u5143\u7d20\u8d4b\u503c\u7ed9\u4e2d\u95f4\u5143\u7d20
number[j] = number[j + 1];//\u5c06\u76f8\u5bf9\u8f83\u5c0f\u7684\u5143\u7d20\u9001\u8fbe\u524d\u9762\u4e00\u4e2a\u4f4d\u7f6e
number[j + 1] = k;//\u5c06\u4e2d\u95f4\u53d8\u91cf\u5143\u7d20\u9001\u7ed9\u540e\u9762\u4e00\u4e2a\u4f4d\u7f6e
}
if (New_number[j] < New_number[j + 1])//\u6bd4\u8f83\u5927\u5c0f\u5e76\u5c06\u5927\u7684\u8d4b\u7ed9\u524d\u9762\u7684\u6570\u7ec4
{
k = New_number[j + 1];//\u5c06\u76f8\u5bf9\u8f83\u5c0f\u7684\u5143\u7d20\u8d4b\u503c\u7ed9\u4e2d\u95f4\u5143\u7d20
New_number[j + 1] = New_number[j];//\u5c06\u76f8\u5bf9\u8f83\u5927\u7684\u5143\u7d20\u9001\u8fbe\u524d\u9762\u4e00\u4e2a\u4f4d\u7f6e
New_number[j] = k;//\u5c06\u4e2d\u95f4\u53d8\u91cf\u5143\u7d20\u9001\u7ed9\u540e\u9762\u4e00\u4e2a\u4f4d\u7f6e
}
}
printf("min-->max\uff1a\n");//\u6587\u5b57\u63d0\u793a
for (m = 0; m <= 9; m++)//\u4f9d\u6b21\u4ece\u5c0f\u5230\u5927\u8f93\u51fa
printf("%d ", number[m]);//\u8f93\u51fa\u5143\u7d20
printf("\n");
printf("max-->min\uff1a\n");//\u6587\u5b57\u63d0\u793a
for (m = 0; m <= 9; m++)//\u4f9d\u6b21\u4ece\u5927\u5230\u5c0f\u8f93\u51fa
printf("%d ", New_number[m]);//\u8f93\u51fa\u5143\u7d20
printf("\n");
return 0;
}
\u7a0b\u5e8f\u8fd0\u884c\u7ed3\u679c\u5982\u4e0b\uff1a
\u6269\u5c55\u8d44\u6599\uff1a
\u5176\u4ed6\u7b80\u5355\u5b9e\u73b0\u7a0b\u5e8f\uff1a
#include
int main()
{
int a[10]={0};
int i,j,temp;
for(i = 0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i = 0;i<10;i++)
{
for(j = 0;j<10-i-1;j++)
{
if(a[j]>a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(i = 0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
这个应该用起泡法排序算法。
#include<stdio.h>
int main(){
int a[10];int i,j,k;
printf("input 10 numbers:
");
for(i=0;i<10;i++){//输入十个数,一次循环输入10次
scanf("%d",&a[i]);
printf("
");//换行
for(j=0;j<9;j++)//从小到大换行经典方法四行
for(i=0;i<9;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf(”the sorted numbers:
”);
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("
");
}
}
结果演示:
#include"stdio.h"
void main()
{
int i,j,t,a[10];
printf("please input string a[]:");
for(i=0;i<10;i++) //对a数组赋值
scanf("%d",&a[i]);
printf("jiao huang qian wei:\n"); //输出交换前的数组
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
for(i=0;i<10;i++) //用“冒泡法进行排序”
for(j=0;j<=i;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
printf("jiao huang hou wei:\n");
for(i=0;i<10;i++) //输出交换后的数组
printf("%3d",a[i]);
printf("\n");
}
希望这个程序可以帮助到您....88有不明白的地方可以问....
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <ctime>
#include <cstring>
#include <algorithm>
using namespace std;
int a[22];
int main()
{
int i;
cout<<"输入10个整数"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
sort(a,a+10);
for(i=0;i<10;i++)
cout<<a[i]<<" ";
return 0;
}
思路:利用冒泡排序,重复地走访过要排序的数列,一次比较两个元素,将小的放到前面并输出。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
排序方法大致有如下几种:
冒泡排序(bubble sort) — O(n^2)
鸡尾酒排序(Cocktail sort,双向的冒泡排序) — O(n^2)
插入排序(insertion sort)— O(n^2)
桶排序(bucket sort)— O(n); 需要 O(k) 额外空间
计数排序(counting sort) — O(n+k); 需要 O(n+k) 额外空间
合并排序(merge sort)— O(nlog n); 需要 O(n) 额外空间
原地合并排序— O(n^2)
二叉排序树排序 (Binary tree sort) — O(nlog n)期望时间; O(n^2)最坏时间; 需要 O(n) 额外空间
鸽巢排序(Pigeonhole sort) — O(n+k); 需要 O(k) 额外空间
基数排序(radix sort)— O(n·k); 需要 O(n) 额外空间
Gnome 排序— O(n^2)
图书馆排序— O(nlog n) with high probability,需要 (1+ε)n额外空间
以简单的冒泡排序为例:
#include"stdio.h"
void main()
{
int i,j,t,a[10];
printf("please input string a[]:");
for(i=0;i<10;i++) //对a数组赋值
scanf("%d",&a[i]);
printf("jiao huang qian wei:
"); //输出交换前的数组
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("
");
for(i=0;i<10;i++) //用“冒泡法进行排序”
for(j=0;j<=i;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
printf("jiao huang hou wei:
");
for(i=0;i<10;i++) //输出交换后的数组
printf("%3d",a[i]);
printf("
");
}
#include"stdio.h"
void main(){
int a[10],i,j,temp; /*N为元素个数*/
for(i=0;i<N;i++){
printf("输入第%d个数:",i+1);
scanf("%d",&a[i]);
}
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(a[i]>a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
printf("排序后的:\n");
for(i=0;i<N;i++)
printf("%d\t",a[i]);
}
绛旓細鏁存暟鐩搁櫎锛岀粨鏋滀负鏁存暟 鍥犳闇瑕 寮哄埗杞崲绫诲瀷 鎴浘 娉ㄦ剰 锛坒loat锛夊氨鏄
绛旓細include <stdio.h>int s[1000];void f(int a[],int len,int n){if (!n){for (int i=0;i<len-1;i++){printf("%d ",s[i]);}printf("%d\n",s[len-1]);} for (int i=0;i<len;i++){if (a[i]!=0){s[len-n]=a[i];a[i]=0;f(a,len,n-1);a[i]=i+1;...
绛旓細鍙渶瑕佸皢杈撳叆鐨勬暟鍒嗚В寮鏉 鐒跺悗灏嗗鏁板瓨鍏ヤ竴涓暟缁勯噷 鍐嶅皢璇ユ暟缁勮繘琛屽掑簭鎺掑簭灏卞彲浠ヤ簡 涓涓绠鍗曠殑浠g爜 include <stdio.h>#include <stdlib.h>int cmp(const void *a,const void *b){ int *x=(int *)a; int *y=(int *)b; return *x<*y?1:0;}int main(int argc,char **...
绛旓細include"stdio.h"void main(){ int a;printf("璇杈撳叆涓涓暣鏁帮細");scanf("%d",&a);for (int i=1;i<=10;i++){ printf("%d",a);printf("*");printf("%d",i);printf("=");printf("%d\t",a*i);if (i%2==0)printf("\n");} } ...
绛旓細include<stdio.h> main(){ int a[10],i,j,temp;printf("please input number:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n");for(i=0;i<10;i++)for(j=i+1;j<=10;j++)if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;} printf("the sorted ...
绛旓細浣犲彲浠ョ敤C璇█缂栧啓涓涓绋嬪簭鏉杈撳叆涓涓鏁存暟锛屽苟姹傚嚭鍏跺悇涓暟瀛椾箣鍜屻備负浜嗗仛鍒拌繖涓鐐癸紝浣犲彲浠ラ愪釜澶勭悊鏁板瓧锛屽苟灏嗗畠浠浉鍔犮備互涓嬫槸涓涓绠鍗曠殑绀轰緥浠g爜锛歚``c include int main() { int num, sum = 0, remainder;// 杈撳叆涓涓鏁存暟 printf("璇疯緭鍏ヤ竴涓鏁存暟: ");scanf("%d", &num);// ...
绛旓細1銆侀鍏堟槸榧犳爣閫夋嫨鍗曞嚮C璇█缂栫▼杞欢鍒涘缓涓涓┖鐨凜璇█鏂囦欢銆2銆佸畾涔夊洓涓暣鏁板彉閲廰锛宐锛宑锛宮ax銆備笁涓彉閲廰锛宐鍜宑鐢ㄤ簬瀛樺偍杈撳叆鐨勪笁涓暟瀛楋紝max鐢ㄤ簬瀛樺偍涓変釜鏁板瓧鐨勬渶澶у笺3銆佷娇鐢╯canf璇彞浠庨敭鐩樿緭鍏ヤ笁涓暟瀛椼傚湪娉ㄦ剰涔嬪墠涓嶈蹇樿浣跨敤鍙橀噺銆4銆佷娇鐢╩ax鍙互閫愪釜姣旇緝涓変釜鏁板瓧锛屽苟灏嗘渶澶ф暟閲忓瓨鍌ㄥ湪鏈澶...
绛旓細include <stdio.h>main(){int a[5][4],i,j;printf("绋嬪簭鍔熻兘锛杈撳叆涓涓5*4闃剁煩闃碉紝鍒犻櫎鏈鍚庝竴琛屽厓绱狅紝鐒跺悗杈撳嚭鐭╅樀銆俓n\n");printf("璇疯緭鍏ョ煩闃靛厓绱狅細\n");for(i=0;i<5;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);printf("\n鍒犻櫎鏈鍚庝竴琛屽厓绱犲悗锛岃緭鍑虹煩闃典负锛歕n");for...
绛旓細include "stdio.h"void main(){ int n,sum=0;printf("璇杈撳叆涓涓笁浣嶆暟锛");scanf("%d",&n);sum=n/100+n%100/10+n%10;//鐧句綅鏁+鍗佷綅鏁+涓綅鏁 printf("杩欎釜涓変綅鏁板悇浣嶆暟瀛椾箣鍜屾槸%d\n",sum);} 缁撴灉锛
绛旓細include "stdio.h"#include "string.h"void deleteChar(char *a,char c)//浠庣壒瀹氬瓧绗︿覆涓垹闄ょ壒瀹氬瓧绗 int i; char *d=NULL;if((d=strchr(a,c))!=NULL)//鎵惧埌杩欎釜瀛楃锛屼粠鍚庝竴浣嶅悜鍓嶇Щ浣嶏紝灏嗗叾瑕嗙洊锛岃揪鍒板垹闄ょ殑鐩殑 { for(i=0;*(d+i)!=0;i++)(d+i)=*(d+i+1);} }in...