实验六数组
/*输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标。*/
#include<stdio.h>
int main()
{
int i,index,n;
int a[10];/*定义一个数组*/
printf("请输入n:");
scanf("%d",&n);
printf("请输入n个数\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
index=9;
for(i=1;i<n;i++)
if(a[i]>a[index])/*比较出最大值*/
index=i;
printf("最大值是%d\t下标是%d\n",a[index],index);
return 0;
}

//输入n个整数,存入数组a中,分别按正序和逆序输出这些数;
#include<stdio.h>
int main()
{
int i,n;
int a[10];
printf("enter n:");//输入n
scanf("%d",&n);
printf("enter %d integers:\n",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("正序排列一维数组:\n");
for(i=0;i<n;i++)
printf("数组元素 %d\ 数组值 %d\n",i,a[i]);
printf("逆序排列一维数组:\n");
for(i=n-1;i>=0;i--)
printf("数组元素 %d\ 数组值 %d\n",i,a[i]);
return 0;
}

//定义一维数组arr,他有5个双精度浮点型元素,任意输入5个后,用冒泡排序法,由大到小排序并输出:
#include<stdio.h>
int main()
{
int i,j;
double x;
double arr[5];
printf("请输入五个数:\n");
for(i=0;i<5;i++)
scanf("%lf",&arr[i]);
for(i=0;i<5;i++){
for(j=0;j<5-i;j++){
if(arr[j]<arr[j+1]){
x=arr[j];
arr[j]=arr[j+1];
arr[j+1]=x;
}
}
}
for(i=0;i<5;i++)
printf("%lf\n",arr[i]);
return 0;
}

//设计一个程序,利用二维数组输出3x2矩阵
#include<stdio.h>
int main()
{
int i,j;
int a[3][2];
//给二维数组赋值
for(i=0;i<3;i++)
for(j=0;j<2;j++)
a[i][j]=i+j;
//按矩阵的形式输出a
for(i=0;i<3;i++){
for(j=0;j<2;j++)
printf("%4d",a[i][j]);
printf("\n");
}
return 0;
}

//定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵
#include<stdio.h>
int main()
{
int i,j;
double x,y;
int arr[3][3];
//输入各元素
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("输入数组arr各元素值:\n);
scanf("%d",&arr[i][j]);
}
}
x=y=0;
//按矩阵形式输出找出最小值
for(i=0;i<3;i++){
for(j=0;j<3;j++){
if(arr[i][j]<arr[x][y]){
x=i;
y=j;
}
}
}
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("%4d",arr[i][j]);
}
printf("\n");
}
printf("最小值是第%d行第%d列是%4d\n",x,y,a[x][y]);
return 0;
}

浙公网安备 33010602011771号