Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Anzahl Ziffern (Schleifen)

Schreiben Sie ein Programm, das die Anzahl Ziffern einer Zahl ermittelt. In diesem Kontext hat die Zahl 0 eine Ziffer. Die Zahl 2023 hat 4 Ziffern. Die Zahl 00343 hat nur drei Ziffern, denn die beiden (führenden) Nullen werden nicht dazugezählt.

Erweitern Sie das Programm derart, dass die Ziffernanzahl aller Zahlen von 1 bis 1024 ausgegeben wird.

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

7 Lösung(en)

def anzahlziffern(zahl):
   s       = str(zahl)
   z       = float(s) 
   ziffern = 0

   while (z >= 1):
      z = z / 10
      ziffern = ziffern + 1

   print ziffern


anzahlziffern(004234)
anzahlziffern('000043434')
                
import java.util.*;

public class ZiffernAnzahl {
    public static void main(String[] args) {
        new ZiffernAnzahl().top(); }
      
      void top() {
          int eingabe = 1;
          while(eingabe <= 1024) {
            int zZahl = ziffernAnzahl(eingabe);
            ausgabe(eingabe, zZahl);   
            eingabe = eingabe + 1; }
      }
      
      int eingabe() {
          System.out.println("Zahl: ");
          Scanner sc = new Scanner(System.in);
          return sc.nextInt();   }
      
      void ausgabe(int eingabe, int resultat) {
          System.out.println("Ziffernanzahl (" + eingabe + ") : " + resultat);  }

      int ziffernAnzahl(int zahl) {
          int zZahl = 0;
          while(zahl > 0) {
              zZahl = zZahl + 1;
              zahl = zahl / 10;  }
          return zZahl;   }

} // end of class ZiffernAnzahl
                
a = raw_input("Zahl = ")
while a.startswith("0"):
    a = a[1:]
print len(a), "Ziffer(n)"
                

Lösung von: Name nicht veröffentlicht

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


int main()
{
	int iZahl;
	int iZiffer = 0;

	printf("Geben sie eine Zahl ein: ");
	scanf_s("%i", &iZahl);
	fflush(stdin);

	if(iZahl < 10) {
		iZiffer = 1;
		printf("%i", iZiffer);
	} else if(iZahl < 100) {
		iZiffer = 2;
		printf("%i", iZiffer);
	} else if(iZahl < 1000) {
		iZiffer = 3;
		printf("%i", iZiffer);
	} else {
		iZiffer = 4;
		printf("%i", iZiffer);
	}

	getchar();
	return 0;
}
                

Lösung von: Elias Zech (Optics Balzers)

function getNumberOfValidDigits(input) {
  return parseInt(input).toString().length;
}

// ausgabe
console.log(getNumberOfValidDigits(2023));
console.log(getNumberOfValidDigits(00343));

for (let i = 1; i <= 1024; i++)
  console.log(`${i}: ${getNumberOfValidDigits(i)}`);
                

Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)

// NET 6.x | C# 10.x | VS-2022

// Aufgabe 1
var lst = new List<object> { 'f', 00123, 45, "0044", "0", 0, 00000, "sieben", 1234, "9876", '0', null, 0b0101, 0xF };
PrintNumberOfValidDigits(lst);

// Aufgabe 2
var lst_1_1024 = Enumerable.Range(1, 1024);
PrintNumberOfValidDigits(lst_1_1024);

void PrintNumberOfValidDigits<T>(IEnumerable<T> l) => l.Where(x => x != null && int.TryParse(x.ToString(), out var _))
    .Select(x => int.Parse(x?.ToString() ?? "").ToString()).ToList()
    .ForEach(x => Console.WriteLine($"{x} ({x.Length})"));
                

Lösung von: Jens Kelm (@JKooP)

// C++ 14 | VS-2022
#include <iostream>

int get_number_of_digits(int n) {
    return log10(abs(n)) + 1;
}

void print_number_of_digits(int begin, int end) {
    if (end < begin) return;
    for (auto i{ begin }; i <= end; i++)
        std::cout << i << " -> " << get_number_of_digits(i) << "\n";
}

int main() {
    int n{};
    std::cout << "Zahl: ";
    std::cin >> n;
    std::cout << "Anzahl Ziffern: " << get_number_of_digits(n) << "\n";
    print_number_of_digits(1, 1024);
}
                

Lösung von: Jens Kelm (@JKooP)

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 1
Schwierigkeit: k.A.
Webcode: qgf8-hnro
Autor: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen