Итак, у меня есть проблема на моем курсе C следующим образом: Загрузите файл 'mydatafile', размещенный на веб-сайте, перенесите файл на удаленный компьютер Unix и, на основе примера 'running_sum.c "перечислены на стр.26 книги Kelley-Полем, создать код C под названием„processdata.c“, которыйПодведение итогов в C
- читает (как поплавки) число из файла данных
- представить их на экране в три столбца в виде числа положительных чисел отрицательные числа
- подсчитывает количество положительных и отрицательных чисел
- вычисляет сумму всех положительных чисел и сумма всех отрицательных чисел
вывода результатов на экран как
I have read … positive numbers, with a sum = …
I have read … negative numbers, with a sum = …
Я включил мой код до сих пор. Он работает, но он дает мне положительные числа в отрицательном столбце и наоборот. Кроме того, я не слишком уверен, как подсчитать количество положительных и отрицательных значений и их сумму. Любая помощь будет принята с благодарностью.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
float x, positive, negative;
if (scanf("%lf", &x) !=1) {
printf("No data found\n");
exit(1);}
positive=negative=x;
printf("%9s%22s%22s\n",
"Count", "Positive Numbers", "Negative Numbers");
printf("%9d%22.3f%22.3f\n",
1, x, positive,negative);
for (i=2; scanf("%f", &x) == 1; ++i) {
if (x>0){
positive=x;
negative=0;}
else if (x<0){
negative=x;
positive=0;}
printf("%9d%22.3f%22.3f\n", i, x, positive, negative);
}
return 0;
}
На самом деле я не знаю, почему я это сделал. Теперь, когда я удалил x, он работает. Большое вам спасибо за вашу помощь. – Mike
@ Zak (и OP): Домашние вопросы: [fine] (http://meta.stackexchange.com/questions/10811/how-do-i-ask-and-answer-homework- вопросы), если заявитель показывает, что он выполнял должную осмотрительность - представить полную проблему, а не просто ссылку, показать работу, сделанную до сих пор, дать минимальный пример и т. д. и т. д., все из которых были выполнены превосходно. Это модельный вопрос, действительно, по сравнению с даже многими не домохозяйствами. Тем не менее, именно в голове учащегося должно быть известно, будет ли в какой-то степени школа/курс рассматривать помощь на дому в качестве справедливой помощи против обмана/плагиата. – Amadan
Чтобы получить суммы, просто добавьте что-то вроде 'int poscount = 0, negcount = 0;' в начале программы. Затем 'poscount ++' или 'negcount ++', когда вы находите положительное или отрицательное число. Для сумм вам понадобится 'sum + = x' или что-то подобное. 'sum' должен быть' float'. – yellowantphil