#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;
}
对一维数组进行全部元素,最大值的输出,并将数组顺序逆置,以及从大到小排序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.