av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

C語言

C語言怎么輸出一個(gè)菱形

時(shí)間:2025-04-21 00:52:16 C語言 我要投稿
  • 相關(guān)推薦

C語言怎么輸出一個(gè)菱形

  大家可能沒了解過C語言,或者剛接觸C語言不是很熟的,C語言是可以輸出很多的圖形的。現(xiàn)在小編給你們收集一個(gè)C語言怎么輸出一個(gè)菱形的相關(guān)知識(shí),不懂的可以來看看。

  C語言是計(jì)算機(jī)的高級(jí)語言,在IT行業(yè)被眾多的人們是使用,由于IT行業(yè)的熱門,使用以及學(xué)習(xí)C語言的人越來越多,掌握一些C語言基本的語言是非常重要的,只有基礎(chǔ)知識(shí)扎實(shí)了,才能在C語言上有更大的成果!

  C語言怎么輸出一個(gè)菱形 篇1

  源代碼為:

  #include

  void main()

  {

  int n=6;

  int i,a,b;

  //前4行.上半部分

  for( i=1;i<=n;i++)//控制行數(shù)

  {

  for( a=n-1;a>=i;a--)//打印空格

  {

  printf(" ");

  }

  for( b=1;b<=2*i-1;b++)//打印*

  {

  printf("*");

  }

  printf(" ");

  }

  //后3行,下半部分

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

  {

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

  {

  printf(" ");

  }

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

  {

  printf("*");

  }

  printf(" ");

  }

  }

  2、這是菱形上半部分的代碼:

  //菱形的上半部分

  for( i=1;i<=n;i++)//控制行數(shù)

  {

  for( a=n-1;a>=i;a--)//輸出空格

  {

  printf(" ");

  }

  for( b=1;b<=2*i-1;b++)//輸出*

  {

  printf("*");

  }

  printf(" ");

  }

  3、這是菱形下半部分的`代碼:

  //菱形 的下半部分

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

  {

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

  {

  printf(" ");

  }

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

  {

  printf("*");

  }

  printf(" ");

  }

  4、此程序中值得注意的地方

  這個(gè)程序的源代碼,主要是運(yùn)用了for語句的循環(huán)嵌套。for語句的一般形式為:

  for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值) {語句}

  當(dāng)一或二條件知識(shí)一個(gè)分號(hào)代表:此條件一直為真,一直成立!

  5、存C語言的格式:

  程序文件有:源程序文件(后綴為 .c)、目標(biāo)文件( 后綴為 .obj)、可執(zhí)行文件(后綴為 .exe),當(dāng)后綴名錯(cuò)誤時(shí),則程序不能執(zhí)行。平常我們 寫的代碼就是源程序文件,所以保存時(shí)用 .c ,程序會(huì)自動(dòng) 生成目標(biāo)文件 .obj ,再到執(zhí)行文件 .exe .然后執(zhí)行得到結(jié)果。

  C語言怎么輸出一個(gè)菱形 篇2

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

  行列 12345

  1 *

  2 ***

  3 *****

  4 ***

  5 *

  分析:

  當(dāng)行數(shù)等于總行數(shù)的一半時(shí),*是遞增的,遞增為2。

  當(dāng)行數(shù)大于總行數(shù)的一半時(shí),*是遞減的,遞增為2。

  設(shè)有一個(gè)行列為n的菱形,

  我們用變量i作為行數(shù),以0開始,i

  k作為n菱第i行要輸出的*個(gè)數(shù)。

  則i<=n的中值(用m表示,m=(n-1) i="">m時(shí),k遞減。

  因?yàn)閗相對(duì)于m行對(duì)稱,所以:

  當(dāng)i>m時(shí),i每增加i-m時(shí)的k值就和第m-i行的k值相等,即第i-m行和第m-(i-m)相對(duì)稱。

  所以得出結(jié)果:

  當(dāng)i<=m時(shí),k=2i+1

  當(dāng)i>m時(shí),k=2(m-(i-m))+1,(m=(n-1)/2)。即k=2n-2i-1

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

  每行循環(huán)輸出空格,再循環(huán)輸出每行的*,再輸出回車,結(jié)束一行。

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

  #include

  int main()

  {

  int i,j,k,n;//定義四個(gè)變量:i是行,j每行*號(hào)前的空格數(shù),k每行的*號(hào)數(shù)

  printf("please input odd n:");

  scanf("%d",&n); //輸入奇數(shù)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--) //循環(huán)輸出空格

  printf(" ");

  for(;k>0;k--) //循環(huán)輸出*號(hào)

  printf("*");

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

  }

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

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

  我們加一點(diǎn)東西進(jìn)去:

  #include

  int main()

  {

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

  do{ //增加一個(gè)大循環(huán),可以令n可以輸入多次以觀察不同的結(jié)果。

  printf("please input odd n, 0 to exit:");//當(dāng)輸入0的時(shí)候,退出大循環(huán),結(jié)束程序。

  scanf("%d",&n);

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

  {

  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語言怎么輸出一個(gè)菱形】相關(guān)文章:

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

C語言怎樣輸出菱形08-02

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

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

C語言數(shù)據(jù)輸出及輕量進(jìn)階10-13

C語言數(shù)據(jù)的輸入輸出復(fù)習(xí)08-11

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

C語言的字符串輸出puts()函數(shù)06-23

C語言字符串的輸入輸出07-03