導航:首頁 > 編程語言 > 給定程序中函數fun的功能是將n

給定程序中函數fun的功能是將n

發布時間:2025-07-02 07:42:55

Ⅰ 1. 給定程序中,函數fun的功能是:有N×N矩陣,將矩陣的外圍元素順時針旋轉。 操作順序是:首先將第一行元

操作順序是:首先將第一行元素的值存入臨時數組r,然後使第一列成為第一行,最後一行成為第一列,最後一列成為最後一行,再使臨時數組中的元素成為最後一列。
例如,若N=3,有下列矩陣:
1 2 3
4 5 6
7 8 9
操作後應為:
7 4 1
8 5 2
9 6 3
請在下劃線處填入正確的內容並將下劃線刪除,使程序得出正確的結果。
注意:部分源程序在文件BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
【參考答案】
(1)0 (2)j-- (3)j

Ⅱ 給定程序中,函數FUN的功能是建立一個N*M的矩陣,矩陣元素的規律是:最外層元素的值全部為1,從外向內第二

#include<stdio.h>
#define N 5 //數組的行數
#define M 6 //數組的列數
main()
{
int i,j,a[N][M]={0};//先將數組值均賦值為0
for(j=0;j<N/2+1;j++)//從外圍從新給數組賦值
{
for(i=0;i<M;i++)
{ if(a[j][i]==0)//if語句,當賦值為0時改變其值為第幾維,不為0時不改變其值(下同)
a[j][i]=j+1;
if(a[N-1-j][i]==0)
a[N-1-j][i]=j+1;}

for(i=0;i<N;i++)
{if(a[i][j]==0)
a[i][j]=j+1;
if(a[i][M-1-j]==0)
a[i][M-1-j]=j+1; }

}
for(i=0;i<N;i++)
{for(j=0;j<M;j++)
printf("%2d",a[i][j]);//輸出數組元素
printf("\n");}

}
我想的方法是先將數組所有元素賦值為0;在將第一圈賦值為1;第二圈賦值為2 ............。
通過值不為0就不改變其值,等於0的就把其值賦值為其圈數!
不知道有什麼簡單的方法沒?可以討論討論!

謝謝下面的朋友給我的修改,那樣效率能更高!但我運行了一下,當N>2M時就不能正確輸出了!可能還有你沒有想到的地方。根據你的提示將程序修改如下,效率更高!
#include<stdio.h>
#define N 15 //數組的行數
#define M 15 //數組的列數
main()
{
int i,j,a[N][M]={0};//先將數組值均賦值為0
for(j=0;j<N/2+1;j++)//從外圍從新給數組賦值
{
for(i=j;i<M-j;i++)
{if(a[j][i]==0)//if語句,當賦值為0時改變其值為第幾維,不為0時不改變其值(下同)
a[j][i]=j+1;
if(a[N-1-j][i]==0)
a[N-1-j][i]=j+1;}

for(i=j;i<N-j;i++)
{if(a[i][j]==0)
a[i][j]=j+1;
if(a[i][M-1-j]==0)
a[i][M-1-j]=j+1; }

}
for(i=0;i<N;i++)
{for(j=0;j<M;j++)
printf("%2d",a[i][j]);//輸出數組元素
printf("\n");}

}

閱讀全文

與給定程序中函數fun的功能是將n相關的資料

熱點內容
手機如何刪除刪除不了的app 瀏覽:212
編程怎麼走好路 瀏覽:417
小米游戲數據一般在哪個文件 瀏覽:902
桌面伺服器是哪個文件 瀏覽:965
二進制數據類型的長度為什麼是n4 瀏覽:561
js獲取當前js文件的路徑 瀏覽:106
adobeindesigncs6教程 瀏覽:909
猿編程怎麼玩游戲 瀏覽:603
win8無網路訪問許可權 瀏覽:121
一個資料庫大小限制多少g 瀏覽:760
無限斯特拉托斯可以用哪些app看 瀏覽:954
圖片與拍攝文件大小名詞解釋 瀏覽:229
java的classpath配置文件 瀏覽:286
在小年魚app裡面如何退款 瀏覽:143
網路電話哪個軟體好用嗎 瀏覽:386
pokemon叫聲文件 瀏覽:689
工程源文件路徑 瀏覽:137
cad高版本能否打開低版本文件 瀏覽:430
金山1kb病毒專殺工具 瀏覽:371
面試官大數據處理需要問什麼問題 瀏覽:842

友情鏈接