2016-10-05 21 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); 
    } 
}