除了“start”的輸出外,代碼運行完美。我正在運行一個代碼,當輸入兩個數字時,它會將這兩個數字之間的每個數字相加。示例:我選擇 1 和 7 所以 1 2 3 4 5 6 7。
int main()
{
int start,end;
int sum = 0;
int i;
start=0;
printf("Start integer: ");
scanf("%d", &start);
printf("\nEnd integer: ");
scanf("%d", &end);
while (1){
while(start<=end){
sum = start;
start;
}
break;
}
printf("The sum between %d and %d is %d\n", start, end, sum);
return 0;
}
這是輸出
有誰知道怎么把8變成1?
uj5u.com熱心網友回復:
當您嘗試列印時,您增加start了 start;so 現在它是一些更大的值。
如果你使用這樣的for回圈,你可以避免這個問題,也不會有 2 個while回圈!第一個while(1)是多余的。
for (int i = start; i <= end; i )
sum = i;
uj5u.com熱心網友回復:
int main()
{
int start,end, orig_start;
int sum = 0;
int i;
start=0;
printf("Start integer: ");
scanf("%d", &start);
orig_start = start;
printf("\nEnd integer: ");
scanf("%d", &end);
while (1){
while(start<=end){
sum = start;
start;
}
break;
}
printf("The sum between %d and %d is %d\n", orig_start, end, sum);
return 0;
}
只需將原始用戶輸入存盤到一個臨時變數中,然后在終端輸出中使用它。
uj5u.com熱心網友回復:
#include <stdio.h>
int main() {
int start, end, counter;
int sum = 0;
printf("Start integer: ");
scanf("%d", &start);
printf("\nEnd integer: ");
scanf("%d", &end);
counter = start;
while(counter <= end) {
sum = counter;
counter ;
}
printf("The sum between %d and %d is %d\n", start, end, sum);
return 0;
}
uj5u.com熱心網友回復:
int main()
{
int start,end;
int sum = 0;
int i; //can be deleted, because its unused
start=0; //can be deleted, because you override it with scanf()
printf("Start integer: ");
scanf("%d", &start);
printf("\nEnd integer: ");
scanf("%d", &end);
int org_start = start; //you need to save the startvalue to print it later
while (1){ //Can be deleted, the next while is enough
while(start<=end){
sum = start;
start;
}
break;
}
//you need to print the org_start instead of the normal start
printf("The sum between %d and %d is %d\n", org_start, end, sum);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/364669.html
