/*输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标。*/ #include<stdio.h> int main(void) { int n,x,i; int a[10]; printf("输入 n:"); scanf("%d",&n); x=0; for(i=0;i<n;i++){ printf("请输入数组a:"); scanf("%d",&a[i]); } for(i=1;i<n;i++){ if(a[i]>a[x]){ x=i; } } printf("最大值是%d,其数组下标是%d",a[x],x); return 0; }
/*输入n个整数,存入数组a中,分别按正序和逆序输出这些数*/ #include<stdio.h> int main(void) { int i,n; int a[10]; printf("输入n:"); scanf("%d",&n); for(i=0;i<n;i++){ printf("输入 a:"); scanf("%d",&a[i]); } /*正序输出*/ for(i=0;i<n;i++){ printf("数组元素a[%d],元素值%d ",i,a[i]); } printf(" "); /*逆序输出*/ for(i=n-1;i>=0;i--){ printf("数组元素a[%d],元素值%d ",i,a[i]); } return 0; }
/* 用冒泡排序法,由大到小排序并输出数字 */ #include<stdio.h> int main(void) { int i,j; double f[5]; //定义浮点型数组 double t; printf("请输入5个实数: "); //赋值 for(i=0;i<5;i++){ scanf("%Lf",&f[i]); } printf(" "); for(j=0;j<5;j++) //冒泡法,即进行4次循环,其中每个元素循环i-j次 for(i=0;i<5-j;i++) if(f[i]<f[i+1]){ //若第i项小于后一项,则两项调转位置 t=f[i+1];f[i+1]=f[i];f[i]=t; } printf("由大到小排序后: "); for(i=0;i<5;i++) { //输出排列后的结果 printf("%Lf",f[i]); printf(" "); } return 0; }
/* 利用二维数组输出3x2矩阵 */ #include<stdio.h> int main(void) { int i,n; int a[3][2]; //定义一个二维数组 printf("enter a:"); //由行到列赋值 for(i=0;i<3;i++){ for(n=0;n<2;n++){ scanf("%d",&a[i][n]); } } for(i=0;i<3;i++){ //输出矩阵 for(n=0;n<2;n++){ printf("%6d",a[i][n]); } printf(" "); } return 0; }
/* 定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵 */ #include<stdio.h> int main(void) { int i,n; int a[3][3]; //定义一个3*的整型二维数组 printf("enter a: "); //为该数组赋值 for(i=0;i<3;i++){ for(n=0;n<3;n++){ scanf("%d",&a[i][n]); } } printf("输入数组为: "); for(i=0;i<3;i++){ for(n=0;n<3;n++){ printf("%6d",a[i][n]); } printf(" "); } int row=0,colum=0,min; // 定义整型变量row=行,colum=列,min为最小值 min=a[0][0]; //首先认为a[0][0]为最小 for(i=0;i<3;i++) for(n=0;n<3;n++) if(a[i][n]<min){ //如果某元素小于a[0][0] min=a[i][n]; //记下它的行号和列号,使它成为新的最小值 row=i; colum=n; } printf("第%d行第%d列最小值是%d",row+1,colum+1,min); //由于数组是从0开始计数,所以要使它的行和列数加一 printf(" "); return 0; }