• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Sprawdzenie kodu programu suma początkowych liczb

VPS Starter Arubacloud
0 głosów
399 wizyt
pytanie zadane 14 listopada 2017 w C i C++ przez mn130496 Gaduła (3,530 p.)

Witam 

Ostatnio na zajęciach na uczelni dostałem zadanie

Napisz program wyznaczający sumę N początkowych liczb podzielnych przez 7. Liczbę N odczytac z klawiatury.
Napisałem następujący program 

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

int main(void)
{
    int n;
    int i;
    int suma=0;
    printf("Podaj liczbê calkowita n1: ");
    scanf("%d", &n);
    for (i=0;i<n;i++)
    {
        if(i%7==0)
        {
            printf("%d",i);
              suma=suma+i;
        }

    }
    printf("suma: %d \n",suma);
    system("pause");
    return (0);
}

Czy ktośmoże mi go sprawdzićczy jest dobrze?.Pozdrawiam

komentarz 14 listopada 2017 przez Patryk Krajewski Nałogowiec (26,170 p.)
Ale czemu sam tego nie sprawdzisz?
komentarz 14 listopada 2017 przez mn130496 Gaduła (3,530 p.)
Sprawdziłem wydaje mi się że jest ok ale chciałemżeby ktoś jeszczemi to potwierdził
komentarz 14 listopada 2017 przez Aisekai Nałogowiec (42,190 p.)
A nie prościej zamiast dawać ifa, w forze zrobić i=i+7? I dodawać?
komentarz 14 listopada 2017 przez 10kw10 Pasjonat (22,880 p.)
Ale czekaj, czy ty przypadkiem nie masz wypisac n liczb? Bo teraz sprawdzasz ile jest podzielonych w zakresie 0-n
komentarz 14 listopada 2017 przez Aisekai Nałogowiec (42,190 p.)
Nie sprawdza ile liczb jest podzielnych w zakresie 0-n, tylko sumuje je. Tak mi się wydaje.

Co i tak jest źle, bo N nie jest maksymalnym przedziałem tylko ilością liczb podzielnych przez 7, które trzeba zsumować.
komentarz 14 listopada 2017 przez 10kw10 Pasjonat (22,880 p.)
No to o to mi właśnie chodzi.

Mozna to nawet latwo zapisac suma = 1*7+...+n*7
komentarz 14 listopada 2017 przez Aisekai Nałogowiec (42,190 p.)
(7+n*7)*n/2 <- z wzoru na Sn arytmetycznego.
komentarz 15 listopada 2017 przez Pac Plus Mądrala (5,560 p.)
Lepiej napisz moduł przyjmujący argument N który wykona sekwencję operacji które Ci koledzy podsunęli. I tylko z szacunku do optymalizacji, nie używaj %d (double precision) jeżeli chodzi o zwykłego inta. I ten "system call" można pominąć, po prostu użyj `gatchar()`.
komentarz 15 listopada 2017 przez mn130496 Gaduła (3,530 p.)
ok działa dziękuje wszystkim za pomoc

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 100 wizyt
–2 głosów
1 odpowiedź 313 wizyt
pytanie zadane 9 listopada 2017 w C i C++ przez mn130496 Gaduła (3,530 p.)
0 głosów
2 odpowiedzi 799 wizyt
pytanie zadane 20 marca 2019 w C i C++ przez abcd Początkujący (290 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...