1, 已知数组x有5个元素{8.16.13.19.10},精组y有6个元素{24.19.28.15.17.20}.请分别对x和y排序。输出x和y排序后的元素
#include main() { int x[5]={8,16,13,19,10},y[6]={24,19,28,15,17,20}; int i,j,sum=0; for(i=0;i<4;i++) { for(j=i+1;j<=4;j++) if(x[i] for(i=5;i>=0;i--) { for(j=i-1;j>=1;j--) if(y[i]for(i=0;i<=4;i++) printf("%d\t",x[i]); printf("\n"); for(i=0;i<=5;i++) printf("%d\t";i++); printf("\n"); }
2, 已知一个数组有10个元素,值分别为3.6.8.4.5.66.80.72.69.70将数组元素逆置后输出(第一个与最后一个换,第二个与倒数二个换)
#include main() { int a[10]={3,6,8,4,5,66,80,72,69,70}; int i,j,sum; for(i=0;i<=9;i++) { for(j=9;j>=i;j--) a[sum]=a[i];a[i]=a[j];a[j]=a[sum]; } for(i=0;i<=9;i++) printf("%d\t",a[i]); }
3, 输入6个整数存入一个数组a,输入4个整数存入另一个数组b,输出所有a中有而b中没有的元素值.
#include main() { int a[6],b[4]; int i,j,sum; for(i=0;i<=5;i++) scanf("%d",&a[i]); for(i=0;i<=3;i++) scanf("%d",&b[i]); for(i=0;i<=5;i++) for(j=0;j<=3;j++) {if(a[i]!=b[j]&&j==3) (printf("%d\t",a[i]);)}
}
4, 已知一个数组有10个元素,值分别是11.12.13.14.15.16.17.18.19.20。现将每个元素向后移一个位置,最后的元素移到开头。输出数组的所有元素.(定义一个具有11个元素的数组,最后一个位置空着。由后向前逐个将元素后移一个位置。最后的元素移到开头位置。)
#include main() { int a[11]={11,12,13,14,15,16,17,18,19,20,} int i,j,t; a[t]=a[10]; for(i=10;i>=0;i--) a[i]=a[i-1]; a[0]=a[t]; int(i=0;i<=9;i++) printf("%d\t"); }
5. 已知一个二维数组:{{14.26.18.17},{24.37.21.8},{19.31.22.16},{7.19.14.26}},输出主对角元素的和。
#include main() { int a[4][4]; int i,j,sum=0; for(i=0,j=0;i<=3;i++) a[sum]+=a[i][j] j++; } printf("%d",a[sum]); }
6. 已知一个二维数组:{{14.26.18.17},{24.8.21.37},{19.31.22.16},{7.8.11.9}},将每行元素都加上该行上的主对角元素,然后求出最大元素的下标. #include main() { int a[4][4]={{14,26,18,17},{24,8,21,37},{19,31,22,16},{7,8,11,9}} int i,j,x; int sum=0,sum1=0,sum2=0; for(i=0,x=0;i<=3;i++) { a[sum]=a[i][x]; for(j=0;j<=3;j++) a[i][j]=a[i][j]+a[sum]; x++;} sum=a[0][0]; for(i=0;i<=3;i++) for(j=0;j<=3;j++) { if(sum { sum=a[i][j]; sum1=i;sum2=j; } } printf("最大数的坐标为%d,%d",sum1,sum2) }
7.已知一个二维数组:14.26.18.17},{24.8.21.37},{19.31.22.16},{7.8.11.9}},将每行的最大元素求出组成一个一维数组,输出该一维数组中的元素. #include main() { int a[4][4]={{14,26,18,17},{24,8,21,37},{19,31,22,16},{7,8,11,9}} int b[4]; int i,j; int sum=0; sum=a[0][0]; for(i=0;i<=3;i++) { for(j=0;j<=3;j++) { if(sum} b[i]=sum; } for(i=0;i<=3;i++) printf("%d\t"b[i]); printf("\n"); }
8.已知一个二维数组:14.26.18.17},{24.8.21.37},{19.31.22.16},{7.8.11.9}},将其行元素和列元素互换,输出互换后的二维数组.
此题非常感谢iamlangue姐的帮助!~
#include<stdio.h> main() { int a[4][4]={{14,26,18,17},{24,8,21,37},{19,31,22,16},{7,8,11,9}}; int b[4][4]={{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}}; int i,j; int sum=0;
for(i=0;i<=3;i++) { for(j=0;j<=3;j++) printf("%d ",a[i][j]); printf("\n"); } for(i=0;i<=3;i++) for(j=0;j<=3;j++) b[j][i]=a[i][j]; for(i=0;i<=3;i++) { for(j=0;j<=3;j++) printf("%d ",b[i][j]); printf("\n"); } }
|