1樓:
我說一下第二個,其實第乙個和第二個思路是一樣的。
1.外面的for迴圈,用i控制行數,輸入整數為n,則整個圖形的行數為2*n-1,列數也是一樣的,你可以看看,就是說行數和列數是一樣的,所以內層迴圈和外層迴圈都是2*n-1,不信的話,你可以查查圖形的行列數。
2.i=n是控制下半個部分。因為0<=j<=2*n-1,就是說j可以大於n-1,也可以小於n-1。
n-1是真個圖形最中間的那一列,整個圖形關於這一列對稱。當i=n時,道理是一樣的,隨著i的增大,每一行都會少兩個數字,並且少的數字位置關於中間這一列對稱。所以要abs(n-1-j)<2*n-1-i,i>=n時,i每增大1,2*n-1-i都會減少1,abs(n-1-j)都會減少兩個列,並且減少的兩個列關於中間對稱,你可以自己算算是不是這個道理。
還有沒有其他不懂得?
2樓:解毒清欲
int n = 6;
for (int i =1;i<=2*n-1;i++)else}system.out.print("\n");}
3樓:海綿
雖然這不是我寫的,但我還是能看懂點
你可以自己用算術推導一下每行的空格,*的個數
然後就是樸素的模擬
c語言列印菱形詳細講解
4樓:匿名使用者
菱形****
*****
*******
*****
****
#include "stdio.h"
void main()
for(i=1;i<=4;i++) //迴圈控制行數1~4 四行 此時游標再第五行開始 i為4時即第九行只有空格 }
5樓:
楊輝三角,,,你看看?乙個正的 乙個倒的
6樓:零乙隻小斑點狗
程式不太難,找支筆寫一寫就知道到了
用c語言列印菱形圖案的方法是什麼?
7樓:田憐
下面的程式是菱形列印的【終結者】,改變下設定,就基本可以滿足所有菱形列印的題目。程式主體 for 語句只有9行,簡單而強大 */#include #include #include // 這個小函式用來輸出 repeattimes 個字元
#includevoid main() 這是最簡單的。下面乙個稍微複雜一點。#includevoid main()
c語言列印菱形的流程圖
8樓:
先列印第乙個到中間的菱形,然後再列印中間到末尾的菱形,具體的實現方法用for迴圈
用c語言程式設計輸出菱形 圖案
9樓:胖友愛籃球
#include
void main()
for(i=1;i<=3;i++) }
擴充套件資料:
for迴圈
for迴圈結構是c語言中最具有特色的迴圈語句,使用最為靈活方便,它的一般形式為:
for(表示式1;表示式2;表示式3)迴圈體語句 。(其中;不能省略)
表示式表示式1為初值表示式,用於在迴圈開始前為迴圈變數賦初值。
表示式2是迴圈控制邏輯表示式,它控制迴圈執行的條件,決定迴圈的次數。
表示式3為迴圈控制變數修改表示式,它使for迴圈趨向結束。
迴圈體語句是在迴圈控制條件成立的情況下被反覆執行的語句。
但是在整個for迴圈過程中,表示式1只計算一次,表示式2和表示式3則可能計算多次,也可能一次也不計算。迴圈體可能多次執行,也可能一次都不執行。
先執行表示式2,然後執行迴圈結構,最後表示式3,一直這樣迴圈下去。
for迴圈語句是c語言種功能最為強大的語句,甚至在一定程度上可以代替其他的迴圈語句。
dodo迴圈結構,do 1 while⑵;的執行順序是1->2->1...迴圈,2為迴圈條件。
while
while迴圈結構,while(1) 2; 的執行順序是1->2->1...迴圈,1為迴圈條件
以上迴圈語句,當迴圈條件表示式為真則繼續迴圈,為假則跳出迴圈。
10樓:設計複雜
1、首先在電腦中開啟c語言編輯器,新建乙個原始檔,如下圖所示。
2、然後寫入**,如下圖所示,源**如下:#include//用c語言迴圈來畫出數字構成的菱形 。
3、繼續輸入**,如下圖所示,for(i=1;i<=n-1;i++) //輸出下半個三角形 if(i==n-1)printf("1");else{for(t=1;t<=n-i;t++)。
4、最後點選編譯並執行,如下圖所示,然後輸入n就能看到結果了,菱形圖案。
11樓:風若遠去何人留
迴圈輸出, 只要確定了空格的個數就可以。
int main()
for (j = 0; j < 2 * i+1; j++)printf("\n");
} for (i = 0; i < line - 1; i++)for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
printf("\n");
} system("pause");
return 0;
}這個是實心菱形的**。
12樓:滄海雄風
#include
int main()
for (j = 0; j < 2 * i+1; j++)printf("\n");
} for (i = 0; i < line - 1; i++)for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
printf("\n");
}return 0;
} 5
****
*****
*******
*********
*******
*****
****
請按任意鍵繼續. . .
13樓:聽不清啊
#include
#include
int main()
{int n,i,j;
scanf("%d",&n);
for(i=1-n;i<=n-1;i++){for(j=0;j
14樓:匿名使用者
/*用如下語句輸出比較好理解,主要是迴圈結構的巢狀語句發揮作用,注意空格和星號的遞增關係*/並且你需要多少行,就能輸出多少行。精煉!#include "stdio.h"
void main()
printf(" ");
for(i=0;i<=n;i++)}
15樓:匿名使用者
提供2個
#include
void main()
for(i=1;i<=3;i++) }
#include
#include
main() }
16樓:4747哦
#include
main()
printf("\n"); //輸出第i行的*以後,換行執行i+1行的迴圈
}//以下程式執行倒星三角形
for(i=0;i<(m-1)/2;i++) //剩下行數m-(m+1)/2=(m-1)/2
printf("\n");}}
17樓:
/*曼哈頓距離原理 解決輸出菱形問題
*/#include
using namespace std;
int main()
cout< }return 0;} 18樓: 譚浩強第四版課後題答案 #include int main() for(b=1;b<=2*i-1;b++)//控制每行*的個數printf("\n"); }//後3行,下半部分 for(i=n-1;i>=1;i--)//控制前四行行數for(b=1;b<=2*i-1;b++)//控制每行*的個數printf("\n"); }printf("\n"); return 0;} 19樓:芒果味的青瓜 /*------------------------------------------- 拓展:列印菱形(方法一) --------------------------------------------*/ #include main() for(row=6;row<10;row++)} 20樓:瑩 #includeusing namespace std;void print(int s,int n) for(int i=n-1;i>0;i--) } 21樓:匿名使用者 1。迴圈2。prinf 用c語言程式設計列印乙個關於*的菱形圖案最簡單的哈 * *** ***** *** * 22樓:瘋子是天才 手機黨輸入 #include"stdio.h" main() c語言輸出乙個菱形圖案(有程式) 23樓:惲長征百燕 i表示行號,打 一行i就加1 j表示某一行需要列印空格的數目 k表示某一行需要列印『*』的數目 這個程式打了乙個7行的菱形,我把程式改一下,把i,j,k的計數都從1開始,看起來會比較直觀 #include void main() for(i=1;i<=3;i++) //然後列印後面三行,行號從1開始計算} 24樓:匿名使用者 菱形,就是如下所示的圖形,總行數與總列數相等: 寫乙個程式,根據使用者輸入的總行數,列印出菱形。 這個題目主要是找出規律,考察讀者的邏輯思維。 你可以從第一行開始,遍歷所有的列,也可以從第一列開始,遍歷所有的行。 下面的程式從第一行開始,遍歷所有的列。 設菱形的總行數為line,總列數為column,當前行為i,當前列為j。上半部分與下半部分的規律不一樣,應該分開討論。 我們著眼於星號(*),思考什麼條件下輸出星號,總結出如下的規律。 1) 對於上半部分(包括中間一行),當前行與當前列滿足如下關係輸出星號: j>=(column+1)/2-(i-1) (column+1)/2-(i-1)為第i行最左邊的星號 j<=(column+1)/2+(i-1) (column+1)/2+(i-1)為第i行最右邊的星號 2) 對於下半部分,當前行與當前列滿足如下關係輸出星號: j>=(column+1)/2-(line-i) (column+1)/2-(line-i)為第i行最左邊的星號 j<=(column+1)/2+(line-i) (column+1)/2+(line-i)為第i行最右邊的星號 不滿足上述條件,則輸出空格。 於是寫出如下的**:純文字複製 #include #include int main()column = line; // 總行數和總列數相同for(i=1; i<=line; i++)else}}elseelse}}printf("\n");}return 0;} 執行結果:請輸入菱形的行數(奇數):11 **** ***** ******* ********* *********** ********* ******* ***** **** 25樓:edward司徒文德 用得著6個for迴圈碼? //列印稜形字母 //注意abs(i)+abs(j)<=k //用數學的角度分析(假設k為2) //|x|+|y|<=k //y<= 2 - x //y<= x + 2 //y>= -x - 2 //y>= x - 2 #include #include int main(void) return 0; }不懂追問我 學過數學,自己畫個圖你就明白了 偽 方法判斷是否是閏年 這裡不涉及大年份 因為不確定你用的語言 返回值true,代表傳入引數對應年份是閏年 否則不是閏年boolean 是否是閏年 int 年份 elsereturn boo include void main for i 4 i 7 i 列印下半部分 你還可以在此基礎上提公升一下,... 我來回答你的問題 sizeof函式的意思是統計變數長度。int的長度長2個位元組 char的長度長1個位元組 float的長度長4個位元組 union uuua的長度取決於其中成員中最長的變數的位元組長度,在這裡為char型別,共五個元素值,長度為5。那麼開始統計總長度也就是2 1 4 5 12 希... 先說明一點,c語言中巨集和函式有些差別,巨集是 第乙個例子,double 1 2 這個呼叫實際上是2 1 2,看,x被為1 2,然後根據運算子的規則 實際上應該說是優先順序 先運算2 1,再加上2,所以結果是4。第二個例子就更簡單了,同樣是,toupper s i 這個呼叫,實際上它的 就是 a s... 從裡到外。意思就是 i 0 j 0時先迴圈k.迴圈結束再執行i 0 j 1再迴圈k 一直這樣下去! for i 0 i 2 i for j 0 j 2 j for k 0 k 2 k 要是這樣看的話會不會好理解些,從裡到外。 意思是 k 的for 語句迴圈的次數 k j,而 j 迴圈的次數 j i ... 一般判定都是為真執行,為假不執行 圖中的 p指的是 以p變數的內容為位址的變數 而你只要看看,它所指向的變數的值是不是0,如果不是0,那麼就會執行 這個地方其實不用換成for,該用什麼用什麼,如果是題目需要的話就只能這樣寫了 for p p 10 然後在裡面寫一堆語句.不過我是沒這樣寫過,不太清楚....用C語言列印菱形圖案,用C語言程式設計輸出菱形 圖案
c語言 關於sizeof問題,C語言 關於sizeof問題
關於C語言的問題,關於c語言問題
關於c語言for語句的迴圈巢狀,關於C語言for語句的迴圈巢狀
關於c語言函式問題,關於C語言函式問題