本文目錄一覽:
請問怎麼用C語言來表示以下圖形
void main(){
int i = 0,j=0;
//打印前4行
for(i = 0;i4;i++)
{
for(j=0;j3-i;j++)printf(” “);
for(j=0;j2*i+1;j++)printf(“*”);
printf(“\n”);
}
//打印後三行
for(i = 0;i3;i++)
{
for(j=0;j1+i;j++)printf(” “);
for(j=0;j5-2*i;j++)printf(“*”);
printf(“\n”);
}
}
c語言中數據處理的過程用圖標怎樣表示?
計算機語言只是一種工具。光學習語言的規則還不夠,最重要的是學會針對各種類型的問題,擬定出有效的解決方法和步驟即算法。有了正確而有效的算法,可以利用任何一種計算機高級語言編寫程序,使計算機進行工作。因此,設計算法是程序設計的核心。
用圖表示的算法就是流程圖。流程圖是用一些圖框來表示各種類型的操作,在框內寫出各個步驟,然後用帶箭頭的線把它們連接起來,以表示執行的先後順序。用圖形表示算法,直觀形象,易於理解。
美國國家標準化協會ANSI曾規定了一些常用的流程圖符號,為世界各國程序工作者普遍採用。最常用的流程圖符號見圖。
1、處理框(矩形框),表示一般的處理功能。
2、判斷框(菱形框),表示對一個給定的條件進行判斷,根據給定的條件是否成立決定如何執行其後的操作。它有一個入口,二個出口。
3、輸入輸出框(平行四邊形框)。
4、起止框(圓弧形框),表示流程開始或結束。
5、連接點(圓圈),用於將畫在不同地方的流程線連接起來。如圖中有兩個以1標誌的連接點(在連接點圈中寫上「l」)則表示這兩個點是 連接在一起的,相當於一個點一樣。用連接點,可以避免流程線的交叉或過長,使流程圖清晰。
6、流程線(指向線),表示流程的路徑和方向。
7、注釋框, 是為了對流程圖中某些框的操作做必要的補充說明,以幫助閱讀流程圖的人更好地理解流程圖的作用。它不是流程圖中必要的部分,不反映流程和操作。
c語言編程,圖示
#include
#define N 20
#define TRUE 1
#define FALSE 0
int visited[N];
typedef struct /*隊列的定義*/
{
int data[N];
int front,rear;
}queue;
typedef struct /*圖的鄰接矩陣*/
{
int vexnum,arcnum;
char vexs[N];
int arcs[N][N];
}
graph;
void createGraph(graph *g); /*建立一個無向圖的鄰接矩陣*/
void dfs(int i,graph *g); /*從第i個頂點出發深度優先搜索*/
void tdfs(graph *g); /*深度優先搜索整個圖*/
void bfs(int k,graph *g); /*從第k個頂點廣度優先搜索*/
void tbfs(graph *g); /*廣度優先搜索整個圖*/
void init_visit(); /*初始化訪問標識數組*/
void createGraph(graph *g) /*建立一個無向圖的鄰接矩陣*/
{ int i,j;
char v;
g-vexnum=0;
g-arcnum=0;
i=0;
printf(“輸入頂點序列(以#結束):\n”);
while((v=getchar())!=’#’)
{
g-vexs[i]=v; /*讀入頂點信息*/
i++;
}
g-vexnum=i; /*頂點數目*/
for(i=0;ivexnum;i++) /*鄰接矩陣初始化*/
for(j=0;jvexnum;j++)
g-arcs[i][j]=0;
printf(“輸入邊的信息:\n”);
scanf(“%d,%d”,i,j); /*讀入邊i,j*/
while(i!=-1) /*讀入i,j為-1時結束*/
{
g-arcs[i][j]=1;
g-arcs[j][i]=1;
scanf(“%d,%d”,i,j);
}
}
void dfs(int i,graph *g) /*從第i個頂點出發深度優先搜索*/
{
int j;
printf(“%c”,g-vexs[i]);
visited[i]=TRUE;
for(j=0;jvexnum;j++)
if((g-arcs[i][j]==1)(!visited[j]))
dfs(j,g);
}
void tdfs(graph *g) /*深度優先搜索整個圖*/
{
int i;
printf(“\n從頂點%C開始深度優先搜索序列:”,g-vexs[0]);
for(i=0;ivexnum;i++)
if(visited[i]!=TRUE)
dfs(i,g);
}
void bfs(int k,graph *g) /*從第k個頂點廣度優先搜索*/
{
int i,j;
queue qlist,*q;
q=qlist;
q-rear=0;
q-front=0;
printf(“%c”,g-vexs[k]);
visited[k]=TRUE;
q-data[q-rear]=k;
q-rear=(q-rear+1)%N;
while(q-rear!=q-front)
{
i=q-data[q-front];
q-front=(q-front+1)%N;
for(j=0;jvexnum;j++)
if((g-arcs[i][j]==1)(!visited[j]))
{
printf(“%c”,g-vexs[j]);
visited[j]=TRUE;
q-data[q-rear]=j;
q-rear=(q-rear+1)%N;
}
}
}
void tbfs(graph *g) /*廣度優先搜索整個圖*/
{
int i;
printf(“\n從頂點%C開始廣度優先搜索序列:”,g-vexs[0]);
for(i=0;ivexnum;i++)
if(visited[i]!=TRUE)
bfs(i,g);
printf(“\n”);
}
void init_visit() /*初始化訪問標識數組*/
{
int i;
for(i=0;iN;i++)
visited[i]=FALSE;
}
int main()
{
graph ga;
int i,j;
createGraph(ga);
printf(“無向圖的鄰接矩陣:\n”);
for(i=0;iga.vexnum;i++)
{
for(j=0;jga.vexnum;j++)
printf(“%3d”,ga.arcs[i][j]);
printf(“\n”);
}
init_visit();
tdfs(ga);
init_visit();
tbfs(ga);
return 0;
}
如果幫助到你,希望能及時採納,謝謝。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/156892.html