當前位置:首頁 » 編程語言 » c語言怎麼用循環列印菱形
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼用循環列印菱形

發布時間: 2023-01-11 01:16:25

1. 如何用c語言列印空心菱形(要求for循環)

題目錯了吧,如果你輸入偶數就不會有◇啊,只有這個題目
由鍵盤輸入正數n,要求輸出2*n+1行的菱形圖案,要求菱形左邊緊靠屏幕左邊
#include "stdio.h"
main()
{ int i,j;
int n;

scanf("%d",&n);
for(i=0;i<=n+1;i++)
{ for(j=n-i;j>=0;j--)
printf(" ");
for(j=0;j<i;j++)
printf("* ");
printf("\n"); }
for(i=0;i<n;i++)
{ for(j=0;j<i+1;j++)
printf(" ");
for(j=n-i;j>0;j--)
printf("* ");
printf("\n"); }
getch();
}

2. c語言輸出菱形

工具/材料

ubuntu+vim+gcc

  • 01

    首先,輸入預處理指令#include <stdio.h>與函數原型void print(int n)。
    其中,n表示行數。

  • 02

    然後,對輸入的n進行提前判斷,若小於0或為偶數,則結束列印。

  • 03

    接著對上半個菱形進行輸出(包括最長的行)。使用兩層循環進行輸出,分別控制行數與行內的位置。

  • 04

    接著對下半個菱形進行輸出(包括最長的行)。也使用兩層循環進行輸出,分別控制行數與行內的位置。

  • 05

    對n=5與n=7進行輸出測試,代碼如下。

  • 06

    編譯運行後的結果如下

  • 07

    以下是所有的代碼:
    #include <stdio.h>

    void print(int n)
    {
    //判斷n是否符合正奇數的要求
    if(n < 0 || n % 2 == 0)
    //不符合則直接退出
    return;
    //對上半個菱形輸出
    int i = 1,j = 1;
    //i控制行數
    for(i = 1; i <= (n + 1) / 2; i++)
    {
    //j控制每一行的位置
    //輸出空格
    for(j = 1; j <= (n+1)/2 - i; j++)
    printf(" ");
    //輸出*
    for(j = 1; j <= 2 * i - 1; j++)
    printf("*");
    //輸出換行
    printf(" ");
    }
    //輸出下一半
    //i控制行數
    for(i = 1; i <= n/2; i++)
    {
    //j控制每一行的位置
    //輸出空格
    for(j = 1; j <= i; j++)
    printf(" ");
    //輸出*
    for(j = 1; j <= n -2 * i; j++)
    printf("*");
    //輸出換行
    printf(" ");
    }
    }

    //測試函數,測試n=5和n=7
    int main()
    {
    printf("5 ");
    print(5);
    printf("7 ");
    print(7);
    return 0;
    }

3. 用c語言中的for循環輸出菱形

#include <stdio.h>
int main()
{
int A=3;
scanf("%d",&A);

int i,j,x,a,b,c,d,e,f,g;
for(i=1;i<=A+1;i++)
{
for(x=A;x>=i;x--)
{
printf(" ");
}
for(a=1;a<=i;a++)
{
printf("*");
}
for(b=0;b<=i-2;b++)
{
printf("*");
}
for(c=A;c>=i;c--)
{
printf(" ");
}
printf("\n");
}
for(j=1;j<=A;j++)

for(d=1;d<=j;d++)
{
printf(" ");
}
for(e=A;e>=j;e--)
{
printf("*");
}
for(f=A-1;f>=j;f--)
{
printf("*");
}
for(g=0;g<=j-1;g++)
{
printf(" ");
}
printf("\n");
}
return 0;
}

要打出圖片題目中所示菱形,只需run下程序,輸入3即可(即input A=3)。代碼中的那個A可以理解為菱形的橫對角線的*的數量減1後的一半。以上代碼適合初學者,因為我也是個初學者,對於C語言高手來說,我這個復雜了,我的思路是四個小三角形拼出一個菱形的。。。你run下看可不可以?然後由於這個答案輸出框的條件限制,輸出的格式,如空格換行等那些會沒顯示到

4. 用c語言編寫一段程序,輸出菱形圖案

main()
{
inti,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf("");
for(k=0;k<=2*i;k++)
printf("*");
printf(" ");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf("");
for(k=0;k<=4-2*i;k++)
printf("*");
printf(" ");
}
}

5. 如何用c語言編寫程序,列印一個空心菱形,用循環寫

#include <stdio.h>

int main(void){
int i,j,k;
//上半空心菱形
for(i=1;i<=10;i++){ //控制行數 10行
for(k=10;k>i;k--){ //第一行 9空格1* i=2 8空格 2*
printf(" ");
}
//當i=1時 由第25行代碼輸出*
if(i == 1){}
else{
printf(" *");
}
//空心空格個數列印 0 2 4 6 16個
for(j=1;j<2*i-2;j++){
printf(" ");
}
printf(" *");
printf(" ");
}
//下空心菱形
for(i=1;i<=9;i++){ //去掉最長行 只有9行
//空格增多 1 2 3...9
for(k=1;k<=i;k++){
printf(" ");
}
//最後一行*號由代碼43行執行
if(i == 9){}
else{
printf(" *");
}
//空心空格個數列印 15 13 ....1 注意空格是15開始 1結束
for(j=1;j<=17-2*i;j++){ //i=9時候 列印0個空格
printf(" ");
}
printf(" *"); //列印每行後出現的*
printf(" ");//換行
}
}

6. 用c語言for循環列印空心菱形有什麼思路

  1. 先打上正三角形,後打下倒三角形,倒三角形少一行最長行。

  2. 每一行無論打多少符號,都只打第一個和最後一個,中間全用空格代替。

變成代碼如下,注意看注釋。

#include"stdio.h"
#defineN7
intmain(void){
inti,j,t;
for(i=1;i<=N;i++){//上三角形行循環
for(j=0;j<39-i;printf(""),j++);//把游標右移到該行第一個符號的列
t=(i<<1)-1;//算出最後一個符號的列t
for(j=1;j<=t;j++)//當前行的列印循環
printf("%c",(j==1||j==t?'*':''));//由j==1||j==t判斷該打'*'還是''
printf(" ");//打完一行要回車
}
for(i=N-1;i>0;i--){//下三角形少一行最長的,所以i從N-1開始到1
for(j=0;j<39-i;printf(""),j++);
t=(i<<1)-1;
for(j=1;j<=t;j++)
printf("%c",(j==1||j==t?'*':''));
printf(" ");
}
return0;
}

7. C語言編程,用一個for循環列印菱形

# include<stdio.h>
# include<stdlib.h>
void main()
{
int i,j,a,b,n;
printf("please enter size");
scanf("%d",&n);
for(i=1;i<n;i++)
{
for(j=1;j<=n+i-1;j++)
if(j==n-i+1 ||j==n+i-1)
printf("*");
else
printf(" ");
printf("\n");
}
for(i=1;i<=2*n-1;i++)
printf("*");
printf("\n");
for(a=1;a<n;a++)
{
for(b=1;b<=2*n-a-1;b++)
if(b==n-(n-a-1)||b==2*n-a-1)
printf("*");
else
printf(" ");
printf("\n");}
}
主要考慮用for循環來解決問題,把菱形分成兩部分,先列印第一部分,然後列印第二部分。

8. 用c語言 for循環列印菱形 看圖

#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1-n;i<=n-1;i++)
{
for(j=0;j<abs(i);j++)
printf(" ");
for(j=0;j<2*(n-abs(i))-1;j++)
printf("*");
printf(" ");
}
return 0;
}

9. C語言,列印菱形【嵌套循環】

#include<stdio.h>
voidmain()
{
inti,j,m,n;
scanf("%d",&n);
for(i=n;i>=-n;i--)
{
m=i;if(m<0)m=-m;
for(j=0;j<n*2+1;j++)
if(j==m||j==n*2-m)
printf("*");
elseprintf(".");
printf(" ");
}
}