我想使用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();
}
答案 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;
你应该去。