練習要求我撰寫一個程式,首先提示用戶輸入自然數序列,然后顯示輸入序列中所有數字的總和,假設數字序列以整數值結尾-1(這個值必須不會添加到最終結果中)并且該序列可能為空。我應該while在實作中使用一個陳述句。
執行示例(該行3 4 5 6 -1是用戶輸入):
Type in a sequence of natural numbers that ends in -1:
3 4 5 6 -1
The sum is:
18
這是我的代碼:
#include <stdio.h>
int main(){
int aux=0, aux_1=0;
printf("Escriba una secuencia de numeros naturales que acabe en -1: ");
while(aux != -1)
{
scanf("%d", &aux);
aux_1 = aux_1 aux;
}
printf("\nLa suma es: %d\n", aux_1);
}
我不知道如何以不添加-1到最終結果中的方式解決它
uj5u.com熱心網友回復:
像這樣?如果您先閱讀,然后檢查回圈條件,然后在回圈中添加并再次閱讀:
int main(){
int aux=0, aux_1=0;
printf("Escriba una secuencia de numeros naturales que acabe en -1: ");
scanf("%d", &aux);
while(aux != -1) {
aux_1 = aux_1 aux;
scanf("%d", &aux);
}
printf("\nLa suma es: %d\n", aux_1);
}
這樣 -1 將不會添加到最后。
編輯:在評論中回答您的問題。
#include <stdio.h>
int main(){
int aux=0, aux_1=0;
printf("Escriba una secuencia de numeros naturales que acabe en -1: ");
do {
scanf("%d", &aux);
if (aux != -1) aux_1 = aux;
}
while(aux != -1);
printf("\nLa suma es: %d\n", aux_1);
}
uj5u.com熱心網友回復:
#include <stdio.h>
int main(){
int aux=0, aux_1=0;
printf("Escriba una secuencia de numeros naturales que acabe en -1: ");
while(1){
scanf("%d", &aux);
if (aux == -1){
break;
}
else
aux_1 = aux;
}
printf("\nLa suma es: %d\n", aux_1);
}
uj5u.com熱心網友回復:
#include <stdio.h>
#include <conio.h>
void main(){
int n, sum=0;
printf("Enter the sequence of numbers");
while(n){
scanf("%d", &n);
if (n == -1){
break;
}
else
sum = sum n;
}
printf("\n the sum is %d\n", sum);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/322588.html
下一篇:裸機STM32
