C Programmierung: Summe einer Folge von ganzen Zahlen bis Null und gibt die Summe von zwei multiplizierten ganzen Zahlen aus

Beschädigte Seele97

Ich arbeite derzeit an Code, der eine Folge von ganzen Zahlen in Form von m1, n1, m2, n2 einliest, bis ich eine Null eingebe und die Summe von m * n ausgibt. Folgendes habe ich bisher:

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main()
{
    int m, n, i, sum = 0;
    bool plus = true;
    scanf("%d", &m);
    scanf("%d", &n);
    for(i = m; i <= n; i++)
    {
            sum = sum + (m * n);
            if(!plus)
            {
                putchar('+');
            }
            printf("%d*%d", m, n);
            plus = false;
    }
    printf("=%d\n", sum);
    return 0;
}

Wenn ich 1, 1, 0 eintippe, wird 1 * 1 = 1 ausgegeben, aber wenn ich 1, 2, 3, 4, 0 eintippe, wird 1*2+1*2=4 ausgegeben. Ich bin nur verwirrt, wie ich 1 * 2 und 3 * 4 berechnen kann.

Vlad aus Moskau

Ich arbeite derzeit an Code, der eine Folge von ganzen Zahlen in Form von m1, n1, m2, n2 einliest, bis ich eine Null eingebe

Es scheint, dass der Ansatz, den Sie insgesamt verwenden, falsch ist. Sie sollten die Variablen mund nicht eingeben n. Zumindest sehe ich nicht, wo 0 eingegeben und in Ihrem Code überprüft wird.

Was du tust, ist Berechnung

sum = sum + (m * n);

n - m + 1mal in der Schleife. Denn mund nentsprechend wurden like eingetragen 1und 2man bekam 4( 1 * 2 + 1 * 2).

Ich kann folgende Vorgehensweise vorschlagen.

#include <stdio.h>

int main(void) 
{
    printf( "Enter a sequence of integers (0 - exit): " );

    long long int sum = 0;
    int value, prev_value;
    unsigned int i;

    i = 0;
    while ( scanf( "%d", &value ) == 1 && value != 0 )
    {
        if ( i % 2 )
        {
            if ( i != 1 ) printf( " + " );
            printf( " %d * %d ", prev_value, value );
            sum += ( long long int )prev_value * value;
        }
        else
        {
            prev_value = value;
        }

        ++i;
    }

    if ( i % 2  )
    {
        if ( i != 1 ) printf( " + " );
        printf( "%d", prev_value );
        sum += prev_value;
    }

    printf( " = %lld\n", sum );

    return 0;
}

Die Programmausgabe könnte so aussehen

Enter a sequence of integers (0 - exit):  1 2 3 4 0
1 * 2  +  3 * 4  = 14

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Summe von ganzen Zahlen innerhalb einer Zeichenfolge?

Finde die Summe von zwei beliebigen gegebenen ganzen Zahlen

Finde die Summe einer geraden Zahl aus einer Liste von ganzen Zahlen

Summe der ganzen Zahlen von 1 bis n

C++ Eine unbekannte Anzahl von ganzen Zahlen in cin einlesen und die Summe ausgeben

Wie erstelle ich eine Liste von ganzen Zahlen, die die Summe aller ganzen Zahlen aus einer Reihe von Listen in einem Diktat ist?

Transformieren eines Arrays von ganzen Zahlen und Berechnen der Summe

Schreiben Sie ein Programm, das alle ganzen Zahlen von `1` bis `250` (inklusive) addiert und die Summe `ergibt

Wie berechnet man, ob die Summe der ganzen Zahlen von 1 bis X Primzahlen sind?

Die Summe der ganzen Zahlen

Eine dreieckige Zahl ist eine Zahl, die die Summe der ganzen Zahlen von 1 bis zu einer ganzen Zahl n ist

Finden Sie die Existenz von zwei ganzen Zahlen nacheinander, die Summe (a, b) = Ziel

Folge von ganzen Zahlen in Rcpp

Rekursive Folge von ganzen Zahlen

Maximale Summe von 1 bis n Zahlen, wobei die Summe niemals gleich der gegebenen ganzen Zahl k . sein sollte

wie man eine Konsolenanwendung schreibt, die die Summe einer bestimmten Anzahl von ganzen Zahlen berechnet

Bei einem gegebenen Array von ganzen Zahlen und einer Summe besteht die Aufgabe darin, herauszufinden, ob es Teilmengen eines gegebenen Arrays mit einer Summe gibt, die der gegebenen Summe entspricht

Wie extrahiert dieser Code das Maximum und das Minimum aus einer Folge von ganzen Zahlen?

Wie berechnet man die Summe für Listen von ganzen Zahlen in einer Liste mit map und erhält eine neue Liste, in der jeder Eintrag jeder berechneten Summe entspricht?

Identifizieren von ganzen Zahlen aus einer Liste mit Strings und ganzen Zahlen

bestimme die Summe aller positiven ungeraden ganzen Zahlen bis zu einer bestimmten Zahl

um die maximale und minimale Summe von 4 von 5 ganzen Zahlen zu drucken, die zufällig eingegeben wurden

Geben Sie bei einer gegebenen Liste von ganzen Zahlen und einer ganzen Zahl k zurück, ob k als Summe beliebiger Zahlen aus dieser Liste oder ihrer Multiplikationen erstellt werden kann

Python: Liste von ganzen Zahlen mit gleicher Summe ohne Wiederholungen

Summe durch Kommas getrennte Zeichenfolge von ganzen Zahlen

Summe von ganzen Zahlen in einem String mit Lambda

Summe von ganzen Zahlen mit Tupeln in einem Tupel

Sortieren von ganzen Zahlen nach der Summe ihrer Ziffern

Mittelwert von zwei ganzen Zahlen

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv