在while循环中划分

时间:2014-10-27 15:25:52

标签: c++ c while-loop division

我想使用while循环划分n个数字并打印商。例如,如果用户输入n = 3,程序将要求3个数字。假设用户输入了2,2和3.程序然后执行以下操作:2/2/3然后打印答案(即0.3333)。我有一个程序使用while循环完美地进行加法,除法和乘法,但在除法中,它将1除以输入的所有数字(1/2/2/3)。我如何解决它?这是代码:

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

void main(void)
{
int n, k=0;
float total=1, number;
printf("\nEnter the number of elements you want to divide:");
scanf("%d",&n);
printf("Please enter %d numbers one by one: \n",n);
while(k<n)
{ 
    scanf("%f",&number);
    total=number/number;
    k=k+1;
}
printf("Quotient of %d numbers = %f \n",n,total);
_getch();
}

2 个答案:

答案 0 :(得分:4)

更改

total=number/number;

if (k==0) 
    total = number;
else 
    total=total/number;

答案 1 :(得分:0)

k=1开始,然后在while循环放置

之前
scanf('%f', &total);

您可能希望将该行包装在if (n!=0)中。通过这种方式,循环中没有if语句可以获得非常小的,极小的性能提升!

然后只需更改

total=number/number;

total=total/number;

你应该去。