2016-10-05 19 views
-4

我想使用If語句作爲循環,我試圖編寫一個程序,它應該保持輸入,直到用戶輸入0,作爲用戶輸入0,它應該終止,並將所有輸入數字的和作爲輸出。例如: 請輸入N個和值= 10如何在C編程中使用If語句作爲循環?

#include <stdio.h> 
#include <stdlib.h> 

int main() 
{ 
    int n=0; 
    int sum; 
    printf("Enter Value of n"); 
    scanf("%d",&n); 

    if(n!=0) 
    { 
     sum=sum+n; 
    } 
    else 
     printf("Sum is = %d", sum); 

    } 

程序獲得第一輸入之後終止,理想地應該繼續,直到輸入0得到的輸入。然後它應該打印所有輸入值的總和。

+0

我們將如何同時在這裏使用。 –

+0

討論主題:總是檢查'scanf'返回的值 – 4386427

+0

解決此類問題的正確工具是您的調試器。您應該先詢問Stack Overflow,然後逐行執行代碼。如需更多幫助,請閱讀[如何調試小程序(由Eric Lippert撰寫)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。至少,你應該[編輯]你的問題,以包含一個[Minimal,Complete,and Verifiable](http://stackoverflow.com/help/mcve)例子來重現你的問題,以及你在調試器中所做的觀察。 –

回答

2

if語句不是一個循環,永遠不會是一個循環。聽起來像你想要一個while循環。

int main() 
{ 
    int n=0; 
    int sum = 0, counter; 
    int aver; 
    printf("Enter Value of n"); 
    scanf("%d",&n); 

    while(n != 0) 
    { 
     sum=sum+n; 
     printf("Enter Value of n"); 
     scanf("%d",&n); 
    } 
    printf("Sum is = %d", sum); 
    } 

這可能更使用

int main() 
{ 
    int n=1; 
    int sum = 0; 

    do { 
     printf("Enter Value of n"); 
     scanf("%d",&n); 
     sum=sum+n; 
    } 
    while(n != 0) 
    printf("Sum is = %d", sum); 
    } 
+0

@ 4386427正確 - 我剛剛複製了OP代碼,沒有進一步分析。現在修復。我也從「do while」示例中刪除了未使用的變量 – John3136

+0

感謝您的幫助,我們可以使用if作爲循環添加「goto」語句。 –

+0

@UmarFarooq號只是沒有。你的工作的工具是一個'做的時候'。你甚至不應該去學習C的'goto'語法! – John3136

1

你需要一個do-while循環

sum = 0; 
do 
{ 
    printf("Enter Value of n"); 
    scanf("%d",&n); 
    sum+=n; 
} 
while(n!=0); 
printf("Sum is = %d", sum); 

注 「而做」 被簡化:在do-while循環,你的循環塊在沒有檢查條件的情況下執行,在循環塊結束後它檢查條件並中斷循環。

所以起初代碼要求輸入,總和數字,然後檢查0輸入。如果是這樣,則打破循環並打印sum的值,否則再次執行循環塊。

0

這是可能的使用goto聲明,以下是代碼

int main() 
{ 
    int n, add; 
    Sum: 
    add=add+n; 
    printf("Enter number:"); 
    scanf("%d", &n); 
    //add=add+n; 
    if(n!=0) 
     goto Sum; 
    else 

     printf("sum is =%d",add); 

    return 0; 
} 
0
#include <stdio.h> 
int sum1 =0; 
int sum(); 
int main() 
{ 
    sum(); 
} 
int sum(){ 
    int n; 
    printf("Enter number :"); 
    scanf("%d",&n); 
    if(n!=0){ 
     sum1=sum1+n; 
     sum(); 
    } 
    else{ 
    printf("Sum :%d\n",sum1); 
    } 
}