Bedingte Ausgabe für Werte ohne Rest



  • Hi,

    ich lern momentan C im Studium für Wirtschaftsinformatik im ersten Semester...

    Ich soll in einer Aufgabe alle Zahlen von 3 bis 1000 auf dem Bildschirm ausgeben, die ohne rest durch 19 teilbar sind.
    Ich hab angefangen mit einer do/while Schleife, mit integrierter if-Abfrage. Aber irgendwie will das so nicht. Ich weiß auch nicht wie ich diesen Zahlenwert bestimme, muss ich das als %d machen, weils ja ne Ganzzahl ist oder wie?

    Danke im voraus, ich hab meinen Code mal noch mit aufgeschrieben!

    int main (void)

    {

    static int i;
    i = 3;

    do
    {
    ++i;

    if
    {
    i/19==("%d"));
    printf("%d",i);
    }

    }while (i!=1000);

    return 0;

    }



  • for (i = 3; i <= 1000; i++)
        if (i % 19 == 0) // ohne Rest teilbar
            printf ("%d,", i);
    


  • Für so eine Zählschleife solltest du lieber die for -Schleife der Form:

    int i = 0;
    for (i = start; i < ende; i++)
    {
        /* Anweisungen... */
    }
    

    einsetzen (die Variablen start und ende natürlich entsprechend ersetzen). Abgesehen davon inkrementierst du in deinem Code i bereits am Anfang des Schleifendurchlaufs, weshalb die Schleife nur von 4 bis 1000 läuft.

    Eine if-Abfrage sieht so aus:

    if (...Wahrheits-Ausdruck...)
    {
        /* Anweisungen... */
    }
    

    ( ...Wahrheits-Ausdruck... natürlich entsprechend einsetzen)

    Teilbarkeit durch eine Zahl:

    if (i % zahl == 0)
    {
        /* i durch zahl teilbar */
    }
    

    bzw.:

    if (i % zahl != 0)
    {
        /* i nicht durch zahl teilbar */
    }
    


  • Vielen Dank für die schnelle Antwort und Hilfe!!
    Das hat mir sehr geholfen!! 👍 👍 👍 🙂 💡


Anmelden zum Antworten