[英]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.