for(i=0;i<10;i++) printf(\} 或 main()
{static int a[10],i,j,k,t; for(i=1;i<11;i++) scanf(\for(j=1;j<10;j++) for(i=1;i<=10-j;j++) if (a[i]>a[i+1])
{t=a[i+1];a[i+1]=a[i];a[i]=t;} for(i=1;i<11;i++) printf(\printf(\}
7.3求一个3×3矩阵对角线元素之和。 main()
{int i=0,j=0,a[3][3],s1,s2; for(i=0;i<3;i++) for(j=0;j<3;j++)
scanf(\
s1=a[0][0]+a[1][1]+a[2][2]; s2=a[0][2]+a[1][1]+a[2][0]; printf(\} 或 main() {
static int i,j,s1,s2,a[3][3]; for(i=1;i<=3;i++) for(j=1;j<=3;j++) scanf(\
s1=a[1][1]+a[2][2]+a[3][3]; s2=a[1][3]+a[2][2]+a[3][1]; printf(\}
7.4已有一个已排好的数组今输入一个数要求按原来排序的规律将它插入数组中。 main()
{ static int a[10]={1,7,8,17,23,24,59,62,101};int i,j,t; scanf(\for(i=9;i>0;i--) if(a[i]
{t=a[i-1];a[i-1]=a[i];a[i]=t;} for(i=0;i<10;i++)
printf(\} 或 main() {
static int a[5]={1,4,5,6,7}; int i,t,b;
scanf(\for(i=0;i<5;i++) {if(b<=a[i])
{t=a[i];a[i]=b;b=t;} printf(\printf(\}
7.5将一个数组的值按逆序重新存放,例如,原来顺序为:8,6,5,4,1。要求改为:1,4,5,6,8。 main()
{ int i,b[10]; for(i=0;i<10;i++) scanf(\for(i=9;i>-1;i--) printf(\printf(\
7.6打印出以下杨辉三角形(要求打印出10行)。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ∶ ∶ main() {
static int m,n,k,b[15][15]; b[0][1]=1;
for(m=1;m<15;m++) {
for(n=1;n<=m;n++) {
b[m][n]=b[m-1][n-1]+b[m-1][n]; printf(\
}
printf(\} } } 或 main()
{ int i,j,n,k,a[10][10];
static a[][1]={{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}}; a[1][1]=1;
for(k=2,k<11;k++) for(i=2;i<=k;i++) for(j=2;j<=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j]; for(k=1;k<11;k++) for(i=1;i<=k;i++) for(j=1;j<=i;j++) printf(\}
7.7 打印“魔方阵”,所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为 8 1 6 3 5 7 4 9 2
要求打印出由1~n2的自然数构成的魔方阵。 解:
#include
{ int a[16][16],i,i,k,p,m,n; p=1;
while(p==1) { printf(\~15):\ scanf(\
if((n!=0)&&(n<=15)&&(n%2!=0)) p=0; }
for(i=1;i<=n;i++) for(j=1;j<=n;j++) a[i][j]=0 7-8
#include
int a[4][4],i,j,max,min,k1,k2,flag;
printf(\输入一个4*4的数组\\n\\n\ for(i=0;i<4;i++) {
for(j=0;j<4;j++) {
scanf(\ } }
printf(\鞍点为:\\n\\n\ for(i=0;i<4;i++) {
max=a[i][0]; for(j=0;j<4;j++) {
if(max<=a[i][j]) {
max=a[i][j]; k1=j; } }
min=a[0][k1]; for(j=0;j<4;j++) {
if(min>=a[j][k1]) {
min=a[j][k1]; k2=j; } }
if((max!=min)) flag=0; else {
flag=1;
printf(\ break; } }
if(flag==0) printf(\不存在\\n\\n\} 7-9
#include
{
float a[15]={100,98,65,55,34,23,23,12,11,9,7,6,4,3,2},n; int i,low,high,mid;
printf(\原数组为:\\n\\n\ for(i=0;i<15;i++) {
printf(\ }
printf(\输入一个数n\\n\\n\ scanf(\ low=0; high=14; i=0;
while(low<=high) {
mid=(low+high)/2; if(a[mid]==n) {
printf(\该数是数组中第%d个元素\\n\\n\ i++; break; }
else if(a[mid] if(i==0) printf(\无此数!!\\n\\n\} 7-10 #include char a[3][80]; int i,j,upon=0,low=0,num=0,spa=0,oth=0; for(i=0;i<3;i++) { printf(\输入第%d行文字\\n\\n\ gets(a[i]); for(j=0;j<80&&a[i][j]!='\\0';j++) { if(a[i][j]>='A'&&a[i][j]<='Z') upon+=1; else if(a[i][j]>='a'&&a[i][j]<='z') low+=1; else if(a[i][j]>=48&&a[i][j]<=57) num+=1;