#include<stdio.h>main(){??? //用一堆數(shù)組求10個(gè)數(shù)字中的最大值??? int max;//暫時(shí)存儲(chǔ)最大值??? int i;//循環(huán)變量??? int a[10];??? printf("請(qǐng)輸入十個(gè)數(shù)字\n");??? //輸入數(shù)字??? for(i=0;i<10;i++)??? {??????? scanf("%d",&a[i]);??? }??? //冒泡排序求最大值,后一個(gè)大于前一個(gè)就替換??? for(i=0;i<10;i++)??? {??????? if(a[i+1]>a[i])??????? {??????? a[i] = a[i+1];??????? a[i+1] = max;??????? }??? }??? //輸出數(shù)字??? for(i=0;i<10;i++)??? {??????? printf("%d\t",max);??? }????????? return 0;}
1 回答

進(jìn)擊的學(xué)霸No1
TA貢獻(xiàn)15條經(jīng)驗(yàn) 獲得超12個(gè)贊
for(i=0;i<10;i++)
{
????for(j=i+1;j<10;j++)
????{
????????if(a[i]<a[j])
????????????{
????????????t=a[i];
????????????a[i]=a[j];
????????????a[j]=t;
????????????}
????? }
}
printf("%d\n",a[0]);
這樣進(jìn)行排序,數(shù)組的第一個(gè)依次和后面的數(shù)進(jìn)行比較,若后面的數(shù)大就放到第一,這其實(shí)是進(jìn)行了從大到小的排序,然后輸出數(shù)組的第一個(gè)數(shù),自然就是最大的那個(gè)數(shù)
for(j=1;j<10;j++)
{
if(a[0]<a[j])
{
t=a[0];
a[0]=a[j];
a[j]=t;
}
}
? ??
printf("%d\n",a[0]);
只對(duì)第一個(gè)數(shù)進(jìn)行比較,減少循環(huán)次數(shù),直接輸出最大值
- 1 回答
- 0 關(guān)注
- 1240 瀏覽
添加回答
舉報(bào)
0/150
提交
取消