1.输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标
/*输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标*/
#include<stdio.h>
int main(void)
{
int i,index,n;
int a[10]; /*定义1个数组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]); /*将输入的数依次赋给数组a的n个元素a[0]~a[n-1]*/
/*找最小值a[index]*/
index=0; /*假设a[0]是最大值,即下标为0的元素最大*/
for(i=1;i<n;i++)
if(a[i]>a[index]) /*如果a[i]比假设的最大值还大*/
index=i; /*再假设a[i]是新的最大值,即下标为i的元素最小*/
printf("max is %d\tsub is %d\n",a[index],index); /*输出最大值和对应的下标*/
return 0;
}

2、输入n个整数,存入数组a中,分别按正序和逆序输出这些数;
/*输入n个整数,存入数组a中,分别按正序和逆序输出这些数;*/
#include<stdio.h>
int main(void)
{
int i,n;
int a[10]; /*定义1个数组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]); /*将输入的数依次赋给数组a的n个元素a[0]~a[n-1]*/
printf("正序输出一维数组a\n"); /*正序输出结果*/
for(i=0;i<n;i++){
printf("数组元素a[%d],元素值%d\n",i,a[i]);
}
printf("\n");
printf("逆序输出一维数组a\n"); /*逆序输出结果*/
for(i=n-1;i>=0;i--){
printf("数组元素a[%d],元素值%d\n",i,a[i]);
}
return 0;
}

4、设计一个程序,利用二维数组输出3x2矩阵,程序运行结果如下
#include<stdio.h>
int main(void)
{
int i,j; /*定义行和列*/
int a[3][2]; /*定义1个二维数组a*/
/*给二维数组赋值*/
for(i=0;i<3;i++)
for(j=0;j<2;j++)
a[i][j]=i+j; /*给数组元素赋值*/
for(i=0;i<3;i++){ /*按矩阵的形式输出a*/
for(j=0;j<2;j++)
printf("%4d",a[i][j]);
printf("\n"); /*换行*/
}
return 0;
}

5.定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵
/*定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵*/
#include<stdio.h>
int main(void)
{
int i,j,col,row; /*用变量row和col分别记录最小值得行下标和列下标*/
int a[3][3]; /*定义一个二维数组a*/
/*将输入的数存入二维数组*/
printf("Enter 9 integers:\n"); /*提示输入9个数*/
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
/*按矩阵的形式输出二维数组a*/
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%4d",a[i][j]);
printf("\n");
}
/*遍历二维数组,找出最小值a[row][col]*/
row=col=0; /*先假设a[0][0]是最小值*/
for(i=0;i<3;i++) /*如果a[i][j]比假设值小*/
for(j=0;j<3;j++) /*再假设a[i][j]是新的最小值*/
if(a[i][j]<a[row][col]){
row=i;
col=j;
}
printf("min=a[%d][%d]=%d\n",row,col,a[row][col]);
return 0;
}

来源:https://www.cnblogs.com/simple9495/p/3405562.html