[英]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.