我想從左到右列印數字。如果左邊的數字比右邊的大,它將從最小到最大列印數字。如果右邊的數字比左邊的大,它將從大到小地列印數字。如果給定的數字是相等的,它將只列印那個數字。
預期行為:
輸入2整數。410
4 5 6 7 8 9 10
輸入2的整數。10 4 輸入整數:2 10 4
10 9 8 7 6 5 4
輸入2的整數。4 4 輸入4的整數。
4 4
輸入2的整數。4 3 輸入整數:4 3
4 3
這是我的代碼:
int main() {
int i, n1, n2;
printf("Enter range (n1, n2 ) : ");
scanf("%d %d", &n1, &n2) 。
i = n1;
while (i <= n2) {
printf("%d"/span>, i);
i ;
}
while (i >= n2) {
printf("%d"/span>, i);
i--;
if (i == n2) {
printf("%d", i) 。
}
}
當我輸入1和10這樣的輸入時,它列印出這樣的輸出。1 2 3 4 5 6 7 8 9 10 11 10.
但如果我輸入10和1這樣的輸入,它列印的輸出是這樣的。10 9 8 7 6 5 4 3 2 11.
如果我輸入相等的數字,它就會列印出這么多的數字。
我如何解決這個問題?
我怎樣才能解決這個問題?我已經嘗試了很多方法,謝謝你的幫助。
uj5u.com熱心網友回復:
你無條件地執行兩個回圈,并從兩個回圈中獲得輸出,即你想要的輸出和另一個回圈的邊緣情況。
使用 if 來決定這兩個回圈,并且只執行其中一個回圈。
這樣,你就可以避免在第一個回圈之后,第二個回圈的條件只有一次是真的。請注意,在while (i <= n2) i ;之后,肯定是i>n2,例如,i==n2 1。而在第二個回圈中,在第一個i--;之后,確實是i==n2。
注意,在第二個顯示的輸出中的 "11 "不是一個11,它是兩個 "1",缺少一個空白。這兩個 "1 "分別來自第二個回圈中的一個printf()。
下面是說明這個問題的代碼(不是為了解決這個問題):
#include <stdio.h>
int main() {
int i, n1, n2;
printf("Enter range (n1, n2 ) : ");
scanf("%d %d", &n1, &n2) 。
i = n1;
while (i <= n2) {
printf(" 1st:%d
", i)。)
i ;
}
printf("
1完成
")。)
while (i >= n2) {
printf(" 2nd:%d
", i)。)
i--;
if (i == n2) {
printf("if:%d
", i)。)
}
}
}
"1 10 "的輸出:
輸入 range (n1, n2 ) : 1st:1
第1:2項
第1:3秒
1st:4
第1:5秒
第1:6秒
1:7
1:8
1:9
1:10
1完成
第2步:11
if:10
2nd:10
"10 1 "的輸出:
輸入range (n1, n2 ) :
1完成
第2次:10
第2次:9
第2:8次
第二步:7
第2:6秒
第2:5節
第2:4節
第2:3節
第2步:2
if:1
第2頁:1
代碼修正,增加了一個if并洗掉了一個不同的if,
。
仍有一些可視化的內容:
#include <stdio.h>
int main() {
int i, n1, n2;
printf("Enter range (n1, n2 ) : ");
scanf("%d %d", &n1, &n2) 。
i = n1;
if(n1 < n2)
{
while (i <= n2) {
printf("irst:%d
", i)。)
i ;
}
} else[/span
{
while (i >= n2) {
printf(" 2nd:%d
", i)。)
i--;
}
}
}
uj5u.com熱心網友回復:
你可以使用一個while回圈和flag來列印指定范圍內的數字。
flag變數:flag決定你是要增量還是要減量。 遞減(真意味著遞減)
#include<stdio.h>
int main() {
int n1, n2;
bool flag=false。
printf("Enter range (n1, n2 ) : ");
scanf("%d %d", &n1, &n2) 。
if(n1>n2)
flag=true。
else
flag=false。
while(n1! =n2)
{
printf("%d"/span>, n1)。
if(flag)
n--;
else
n ;
}
printf("%d"/span>, n1);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/334264.html
標籤:
下一篇:如何在reactJs中導航
