aloh10 0 Denunciar post Postado Outubro 25, 2012 Escreva um programa que lê dois números inteiros (sendo o primeiro menor do que o segundo) e calcula: • A soma de todos os números ímpares dentro do intervalo fechado desses dois números . • A soma de todos os números pares dentro do intervalo fechado desses dois números. e1.txt = 2 11 s1.txt = 35 30 Não tah aparecendo a saída, alguém pode me dizer oq tah faltando nesse código? #include <stdio.h> int main(void) { int x, y, i, si = 0, sp = 0; freopen("e1.txt", "r", stdin); freopen("s1.txt", "w", stdout); scanf("%d %d", &x, &y); for (i = x; i <= y; i++) { if (i % 2) { si += i; } else { sp += i; } } printf("%d %d", si, sp); fclose(stdin); fclose(stdout); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
Mateus GP 13 Denunciar post Postado Novembro 21, 2012 Não altere stdin ou stdout, pois estes são usados por funções padrões como: puts, gets, printf, scanf. Use fopen, veja: #include <stdio.h> int main(void) { FILE* f1,* f2; int x, y, i, si = 0, sp = 0; f1 = fopen("c:\\s1.txt", "r"); // no Linux: /home/user/ if(f1 == NULL) return 1; f2 = fopen("c:\\e1.txt", "r"); if(f2 == NULL) { fclose(f1); return 2; } fscanf(f1, "%d", &x); fscanf(f2, "%d", &y); for (i = x; i <= y; i++) { if (i % 2) { si += i; } else { sp += i; } } printf("%d %d", si, sp); fclose(f1); fclose(f2); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites