簡體   English   中英

在 C 中打印數字模式

[英]Printing number patterns in C

我仍在學習 C 中的循環和數字模式,並嘗試將這種模式作為練習來執行:

98765
87654
76543
65432
54321

模式中的最大數字是 9,最小數字是 1。所以我這樣做了:

#include <stdio.h>
   

int main() {
    int i,num,x=9,y,z;

    scanf("%d", &i);

    for (z=1;z <= i; z++) {
        num=x;
        x--;
         
         for (y = 1; y <= i; y++) {
             printf("%d",num);
             num--;
         }
         printf("\n");
    }

    return 0;
     
}

行數和列數也應該相同。 我仍然需要幫助來弄清楚缺少什么。

我沒有完全理解你的問題,先把你的問題說清楚。

但是,如果您想打印具有相等行數和列數的數字模式,並且您將較高的數字和較低的數字作為輸入,那么這里顯示的代碼可能對您有用。

#include <stdio.h>
    
int main() 
{
    int biggerNumber = 9, smallerNumber = 1;
    
    int numberOfRowAndColumn = ((biggerNumber - smallerNumber) / 2) + 1;
    for (int i = 0; i < numberOfRowAndColumn; i++)
    {
        int temporaryVariable = biggerNumber;
        biggerNumber--;

        for (int j = 0; j < numberOfRowAndColumn; j++)
        {
            printf("%d ", temporaryVariable);
            temporaryVariable--;
        }
        printf("\n");
    }
    return 0;
}

而且,如果您想從用戶那里獲取行數和列數,那么您也可以這樣做,只需更改一行即可。

  int numberOfRowAndColumn = ((biggerNumber - smallerNumber) / 2) + 1;

而不是這一行只寫

 scanf("%d", &numberOfRowAndColumn);

從用戶那里獲取輸入。

希望這可以幫助。

這是上面顯示的代碼的輸出:

9 8 7 6 5 
8 7 6 5 4 
7 6 5 4 3 
6 5 4 3 2 
5 4 3 2 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM