C-Sprache zum Zählen der Anzahl numerischer Zeichen in einer Zeichenfolge

Fragen 1-9

Grundlegende Beispielfragen zur C-Sprache 1–3 – Zeiger
Grundlegende Beispielfragen zur C-Sprache 4–5 – Zweidimensionale Arrays
Beispiele zu den Grundlagen der C-Sprache 6–7 – Strukturkapitel
C-Sprachgrundlagen, Beispiele 8–9 – Große Hausaufgaben

Vorwort

Für die folgenden Fragen müssen Sie sich mit Strings und Zeigern vertraut machen, bevor Sie sie üben können.

Beispiel 10

Bitte schreiben Sie ein Programm, das vom Benutzer die Eingabe einer Zeichenfolge verlangt. Anschließend zählt das Programm die Anzahl der numerischen Zeichen in der Zeichenfolge und gibt das Ergebnis aus.

Testfall
Testfall 1:
Eingabe: „abc123xyz“
Erwartete Ausgabe: 3 (numerische Zeichen Zahl)
Testfall 2:
Eingabe: „hello world“
Erwartete Ausgabe: 0 (Anzahl der numerischen Zeichen Zahl)
Testfall 3:
Eingabe: „1234567890“
Erwartete Ausgabe: 10 (die Anzahl der numerischen Zeichen, also The Die gesamte Zeichenfolge ist eine Zahl)
Testfall 4:
Eingabe: „1a2b3c4d5e6f7g8h9i0j“
Erwartete Ausgabe: 10 (numerische Zeichenzahl )

Beispiel 11

Schreiben Sie eine C-Sprachfunktion, um die Werte zweier ganzzahliger Variablen auszutauschen. Der Funktionsprototyp lautet wie folgt:

void swap(int* a, int* b);

Testfall
Wenn a=5, b=10 eingegeben wird, sollte nach dem Aufruf der Swap-Funktion der Wert der Variablen a 10 und der Wert der Variablen b 5 sein .
Wenn a=-3, b=7 eingegeben wird, sollte nach dem Aufruf der Swap-Funktion der Wert der Variablen a 7 und der Wert der Variablen b -3 sein.
Wenn a=0, b=0 eingegeben wird, sollte nach dem Aufruf der Swap-Funktion der Wert der Variablen a 0 und der Wert der Variablen b 0 sein.

Beispiel:
Fügen Sie hier eine Bildbeschreibung ein

Antwort

Beispielfrage 10 Antworten

Antwort 1

#include <stdio.h>
#include <ctype.h>

int main(void)
{
    
    
    int sum = 0;
    char ch;
    while ((ch = getchar()) != '\n')
    {
    
    
        if (isdigit(ch))
            sum++;
    }

    printf("%d\n", sum);

    getchar();
    return 0;
}

int sum = 0;
sum wird zum Speichern der Anzahl numerischer Zeichen verwendet und der Anfangswert ist 0.

char ch;
Die Variable ch wird verwendet, um jedes Zeichen in der Benutzereingabe zu lesen.

while ((ch = getchar()) != ‘\n’)
Die vom Benutzer eingegebenen Zeichen werden weiterhin gelesen, bis ein Zeilenumbruchzeichen gelesen wird. Führen Sie innerhalb der Schleife Folgendes aus:

ch = getchar()
Liest ein Zeichen und weist es der Variablen ch zu.

if (isdigit(ch))
Verwenden Sie die Funktion isdigit, um zu bestimmen, ob die Variable ch ein numerisches Zeichen ist.
Wenn es sich um ein numerisches Zeichen handelt, führen Sie sum++ aus und addieren Sie 1 zum Wert der Variablensumme.

Nachdem die Schleife beendet ist, verwenden Sie printf(“%d\n”, sum);, um den Wert der Variablen sum auszugeben, der die Anzahl der numerischen Zeichen darstellt.

Antwort 2

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int countDigits(char *input_str)
{
    
    
    int count = 0;
    for (int i = 0; i < strlen(input_str); i++)
    {
    
    
        if (isdigit(input_str[i]))
        {
    
    
            count++;
        }
    }
    return count;
}

int main()
{
    
    
    char input_str[100];
    printf("请输入一个字符串:");
    scanf("%s", input_str);

    int result = countDigits(input_str);
    printf("数字字符的个数为: %d\n", result);

    return 0;
}

int countDigits(char *input_str)
Die Funktion empfängt einen String-Parameter input_str und gibt die Anzahl der darin enthaltenen numerischen Zeichen zurück.

Innerhalb der countDigits-Funktion wird eine ganzzahlige Variable count mit einem Anfangswert von 0 definiert, die zum Zählen der Anzahl der Ziffernzeichen verwendet wird.

Verwenden Sie eine for-Schleife, um jedes Zeichen in der Zeichenfolge input_str zu durchlaufen:

strlen(input_str) wird verwendet, um die Länge einer Zeichenfolge zu ermitteln.

Verwenden Sie isdigit(input_str[i]) innerhalb der Schleife, um zu bestimmen, ob das aktuelle Zeichen ein numerisches Zeichen ist, und wenn ja, count++.

return count;
wird verwendet, um die gezählte Anzahl numerischer Zeichen zurückzugeben.

In der Hauptfunktion wird ein Zeichenarray input_str[100] definiert, um die vom Benutzer eingegebene Zeichenfolge mit einer Länge von 100 zu speichern.

Verwenden Sie scanf(“%s”, input_str);, um einen String aus der Standardeingabe zu lesen und ihn in der Variablen input_str zu speichern.

Rufen Sie die Funktion countDigits(input_str) auf, übergeben Sie die vom Benutzer eingegebene Zeichenfolge als Parameter, ermitteln Sie die Anzahl der darin enthaltenen numerischen Zeichen und weisen Sie sie der Variablen result zu.

Verwenden Sie printf("Die Anzahl der numerischen Zeichen ist: %d\n", Ergebnis); um die Anzahl der numerischen Zeichen auszugeben.

Antwort auf Beispiel 11

#include<stdio.h>
void swap(int* a, int* b);
int main(void)
{
    
    
    int a,b;
    scanf("%d %d",&a,&b);
    swap(&a,&b);
    printf("a=%d\tb=%d\n",a,b);
    return 0;
}
void swap(int* a, int* b)
{
    
    
    int temp=*a;
    *a=*b;
    *b=temp;
}

swap(&a, &b);:
Diese Anweisung ruft die Swap-Funktion auf und übergibt die Adressen von a und b als Parameter.

int temp = *a;:
Erstellen Sie eine temporäre Variable temp, um den Wert von a zu speichern.

*a = *b;:
将 b 的值赋给a.

*b = temp;:
Weisen Sie b den Wert der temporären Variablen temp zu.

おすすめ

転載: blog.csdn.net/weixin_44499065/article/details/134281891