#include<stdio.h>
#include<stdlib.h>
int main ()
{
int arr[]={111,54,4,9,97,1,64,64,96,8,6,164,3,6};//聲明一個整數型數組arr[]
int a=sizeof(arr)/sizeof(arr[0]);//算出數組arr的元素個數
printf("該數組的元素爲:");
for (int i=0;i<a;i++)//利用for循環輸出arr中的元素
{
printf("%d ",arr[i]);
}
int max;
max=0;//聲明一個變量max,
for (i=0;i<a;i++)//利用for循環讓arr中的所有元素和max做比較
{
if(arr[i]>max)//如果數組中的元素比max的值大則把數組中的數值賦給max
{
max=arr[i];
}
}
printf("\n該數組的最大值爲:");
printf("%d\n",max);//輸出max
int start,end,temp;//聲明三個變量,作爲起始數組元素的下標,和結尾數組元素的下標,以及臨時變量
printf("該數組逆置後爲:");
start=0;
end=a-1;//因爲數組元素的下標是從0開始,所以最後一位元素下標爲數組元素總個數-1
while(end>start)
{
temp=arr[start];//將第一個數組元素的值儲存在臨時變量temp中
arr[start]=arr[end];//將最後一位數組元素的值賦給第一個元素
arr[end]=temp;//將臨時變量的值轉給最後一位元素,完成數值的轉移
start++;//起始元素的下標+1,結尾元素的下標-1執行下一次循環,直到不滿足循環條件即end<=start的時候
end--;
}
for (i=0;i<a;i++)//利用for循環輸出arr逆置後的元素
{
printf("%d ",arr[i]);
}
printf("\n該數組從大到小排序爲:");
for (int j=0;j<a;j++)//利用for循環的嵌套實現數組中的相鄰的元素比較
{
for(int l=0;l<a;l++)
{
if(arr[j]>arr[l])//比較相鄰元素,並將較大的數值賦給左側
{
temp=arr[j];//元素的轉換
arr[j]=arr[l];
arr[l]=temp;
}
}
}
for (i=0;i<a;i++)//利用for循環輸出arr排序後的元素
{
printf("%d ",arr[i]);
}
system ("pause");
return 0;
}
對一維數組進行全部元素,最大值的輸出,並將數組順序逆置,以及從大到小排序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.