Я хочу использовать 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();
}
+ Изменить
total=number/number;
в
if (k==0)
total = number;
else
total=total/number;
Начните с k=1
затем прямо перед циклом while
scanf('%f', &total);
Вы можете обернуть эту строку в if (n!=0)
. Таким образом, там нет, if
выражение в петле для очень маргинального, крохотного прироста производительности!
Затем просто измените
total=number/number;
в
total=total/number;
и вы должны быть готовы к работе.