北航機試C語言矩陣問題

2021-07-13 02:21:46 字數 3834 閱讀 1304

矩陣問題

1.給乙個二維陣列a賦值如下資料:-1

-1-1

-1-1

-1-1

-1-1-1

2.輸出以下5×5的矩陣

3.拐角矩陣

1) 左上拐角

#include

void main()

,i,j,q,n;

printf("n=");

scanf("%d",&n);

q=n/2+1;

for(i=1;i<=q;i++)

for(j=1;j<=q;j++)

main()

putchar('\n');

}

}

5.螺旋矩陣

擬人法:按圈行走

#include

#define n 20

void main()

int a[n][n]=;

int n,s,i,j,edge;

printf("n=");

scanf("%d",&n);

edge=n,s=1;

i=j=1;

doi--;j++;

while(a[i][j]==0 && j<=edge)

j--;i--;

while(a[i][j]==0 && i>=n+1-edge)

i++;j--;

while(a[i][j]==0 && j>=n+1-edge)

j++;i++;

}while(s<=n*n);

for(i=1;i<=n;i++)

;printf("n : ");scanf("%d",&n);

i=j=1;

for(k=1;k<=n*n;k++)

else if(i+j>=n+1 && i>j)

else if(i<=j && i+j>n+1)

else

s=0;m=n-1;

for(k=1;k<=q-1;k++)

s+=4*(m-2*(k-1));

a[i][j]=s+(d-1)*(m-2*(q-1))+g;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

printf("%4d",a[i][j]);

printf("\n");

6.斜行矩陣

#include

#define n 20

void main()

else if(j==1)

else

for(i=1;i<=n;i++)

else if(j==n+1)

else if(i==0)

else if(j==0)

for(i=1;i<=n;i++)

else

for(i=1;i<=n;i++)

else

for(i=1;i<=n;i++)

else

for(i=1;i<=n;i++)

else

for(i=1;i<=n;i++)

{for(j=1;j<=i;j++)

printf("%4d",a[i][j]);

printf("\n");

1.列印星號圖。

1) 共列印3

行,每列6個。

2) 平行四邊形

3) 等腰三角形

4) 菱形

方法2:共7

行,上4

行:每i

行先列印

4-i個空格,再列印

2i-1個『*

』號。

下3行:行數遞減時,每

i行先列印

4-i個空格,再列印

2i-1個『*

』號。

對m行,

n=m/2+1

,先列印

1~n行,再列印

n-1~1行。

# include

void main()

int i,j,n,m;

printf("input m");

scanf("%d",&m);

n=m/2+1;

for(i=1;i<=n;i++)

for(j=1;j<=n-i;j++)

putchar(' ');

for(j=1;j<=2*i-1;j++)

putchar('*');

printf("\n");

for(i=n-1;i>0;i--)

for(j=1;j<=n-i;j++)

putchar(' ');

for(j=1;j<=2*i-1;j++)

putchar('*');

printf("\n");

方法3:統一處理

#include

#include

void main()

int i,j;

for (i=1;i<=7;i++)

{  for (j=1;j<=abs(i-4);j++)  printf(" ");

for (j=1;j<=7-2*abs(i-4);j++)   printf("*");

printf("\n");

5) 兩個等腰三角形

6) 兩個平行四邊形

2.列印字母等腰三角形

1) 三角形的大小由鍵盤輸入,如n=5

,如圖

aabc

abcd

eabc

defg

abcd

efgh

i2) 列印字母對稱的等腰三角形,三角形大小由鍵盤輸入。如圖ab

abcb

abcd

cbab

cded

cbabcde

2010北航機試

均為自做 1.題目描述 利用泰勒公式求cos x 1 x2 2 x4 4 include include include double jiecheng int k return result int main while temp 1e 6 printf lf n result return0 2...

2019北航機試

第一題 連續合數 最小的3個連續合數是8,9,10,最小的5個連續合數是24,25,26,27,28。輸入數n 10 n 1000000 輸出 1,n 上最長的連續合數。若存在多個個數相同的最長合數序列,輸出值最小的前序合數 要求5s內輸出結果 輸入 50 輸出 24 25 26 27 28 inc...

2016北航機試

均為自做 題目一給定乙個數n,將這個數的各位順序顛倒,成為逆序數m。例如1234的逆序數是4321 如果m是n的k倍 k為整數 那麼輸出nk m 輸入 1089 輸出 10899 9801 如果m不是n的整數倍,那麼輸出n和m的逆序數 輸入 1234 輸出 1234 4321 輸入 23200 輸出...