簡體   English   中英

如何在 C 編程中使用 If 語句作為循環?

[英]How to use If statement as loop in C Programming?

我想使用 If 語句作為循環,我正在嘗試編寫一個程序,該程序應該繼續獲取輸入,直到用戶輸入 0,作為用戶輸入 0,它應該終止並給出所有輸入數字的總和作為輸出。 例如:請輸入值 N 1 4 5 0 Sum is=10

#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。 然后它應該打印所有輸入值的總和。

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);
  }

這可以使用“do while”進一步簡化

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);
  }

你需要一個 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 的值,否則再次執行循環塊。

這可以使用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;
}
#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);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM