奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

C語言

C語言怎樣輸出菱形

時間:2024-08-02 13:00:08 C語言 我要投稿
  • 相關推薦

C語言怎樣輸出菱形

  C語言怎樣輸出菱形你知道嗎?上網搜索一下,但網上的方法都是分為上下部分用兩個嵌套for循環輸出。下面是小編為大家帶來的C語言怎樣輸出菱形的知識,歡迎閱讀。

  C語言怎樣輸出菱形

  適有同學問起一些C語言題目,本想上網搜索了事,但網上的方法都是分為上下部分用兩個嵌套for循環輸出。我想有沒有合起來輸出的呢,這樣符合簡潔又美觀的要求呢?答案是有的。

  題目:輸出行列都相等的菱形,如5行5列:

  行列 12345

  1 *

  2 ***

  3 *****

  4 ***

  5 *

  分析:

  當行數等于總行數的一半時,'*'是遞增的,遞增為2。

  當行數大于總行數的一半時,'*'是遞減的,遞增為2。

  設有一個行列為n的菱形,

  我們用變量i作為行數,以0開始,i

  k作為n菱第i行要輸出的'*'個數。

  則i<=n的中值(用m表示,m=(n-1)/2)時,k遞增,i>m時,k遞減。

  因為k相對于m行對稱,所以:

  當i>m時,i每增加i-m時的`k值就和第m-i行的k值相等,即第i-m行和第m-(i-m)相對稱。

  所以得出結果:

  當i<=m時,k=2i+1

  當i>m時,k=2(m-(i-m))+1,(m=(n-1)/2)。即k=2n-2i-1

  由于我們只需要輸出'*'左邊的空格即可,所以每行'*'左邊的空格的個數為:(n-每行的k)/2。

  每行循環輸出空格,再循環輸出每行的'*',再輸出回車,結束一行。

  這樣我們就可以開始編程了。

  #include

  int main()

  {

  int i,j,k,n;//定義四個變量:i是行,j每行*號前的空格數,k每行的*號數

  printf("please input odd n:");

  scanf("%d",&n); //輸入奇數n

  for (i=0;i

  {

  if(n>=2*i+1) //判斷k值

  k=2*i+1;

  else

  k=2*n-2*i-1;

  for(j=(n-k)/2;j>0;j--) //循環輸出空格

  printf(" ");

  for(;k>0;k--) //循環輸出*號

  printf("*");

  printf("n"); //輸出回車結束一行

  }

  本來呢題目就到止結束了,但上面的程序還不夠完美

  比如說,別人輸入n值為偶數怎么辦?輸入非數值呢?

  我們加一點東西進去:

  #include

  int main()

  {

  int i,j,k,n=0; //這里給n賦初值,即使輸入非數值,n也可有確切的值。

  do{ //增加一個大循環,可以令n可以輸入多次以觀察不同的結果。

  printf("please input odd n, 0 to exit:");//當輸入0的時候,退出大循環,結束程序。

  scanf("%d",&n);

  if (!(n%2)) //增加對輸入偶數的判斷。

  {

  printf("you input a even, please input again.n");

  continue;

  }

  for (i=0;i

  {

  if(n>=2*i+1)

  k=2*i+1;

  else

  k=2*n-2*i-1;

  j=(n-k)/2;

  for(;j>0;j--)

  printf(" ");

  for(;k>0;k--)

  printf("*");

  printf("n");

  }

  }while(n);

  return 0;

  }


【C語言怎樣輸出菱形】相關文章:

C語言如何輸出菱形10-16

C語言輸出菱形的方法07-31

C語言怎么輸出一個菱形09-27

如何更好地用c語言如何輸出菱形08-30

C語言數據輸出及輕量進階10-13

C語言數據的輸入輸出復習08-11

C語言字符數組的幾種輸出方式05-21

關于c語言約瑟夫問題輸出序號算法10-16

怎樣學習c++c語言編程10-26

C語言怎樣創建windows窗口08-19

主站蜘蛛池模板: 闵行区| 三穗县| 基隆市| 平凉市| 同仁县| 丹阳市| 鹤峰县| 吐鲁番市| 栖霞市| 紫金县| 思茅市| 沙田区| 巍山| 清河县| 扶余县| 蛟河市| 太仓市| 铜鼓县| 进贤县| 龙海市| 南通市| 南投县| 榆林市| 屯留县| 甘德县| 通海县| 朝阳市| 凉城县| 牡丹江市| 社旗县| 敖汉旗| 新巴尔虎右旗| 永靖县| 兰州市| 吴旗县| 岗巴县| 金沙县| 永川市| 郴州市| 胶州市| 枣强县|