20131028课堂实验6 数组1
1.
/*找出数组的最大值和它所对应的下标*/ #include<stdio.h> int main(void) { int i,index,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]); /*找最大值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; }
第一次把下标按从1开始了,导致输出的最大值总是第二大的,后来改正过后程序就正常运行了。
2.
#include<stdio.h> int main(void) { int n,i,k ; int a[10]; printf("Enter n:"); scanf("%d",&n); printf("Enter %d integers:",n); for(i=0;i<n;i++) scanf("%d",&a[i]); printf("正序输出一维数组\n"); for(i=0;i<n;i=i+1){ printf("数组元素a[%d],元素值%d\n",i,a[i]); } printf("逆序输出一维数组\n"); for(i=n-1;i>=0;i=i-1){ printf("数组元素a[%d],元素值%d\n",i,a[i]); } return 0; }