C (for schleife) Zahlen ersetzen
-
Das Problem ist das wir noch nicht soweit sind.
Wir sind erst bei den Schleifen in C.
-
Ohje, Ziffernsumme habe ich überlesen, der Begriff Quersumme wäre mir wahrscheinlich ins Auge gefallen...
Dann überlege dir einmal, wie du an die einzelnen Ziffern herankommst, Hinweis: %10 gefolgt von einem /10, um die letzte Stelle zu verwerfen.
Alles klar?
Greetz
-
#include <stdio.h> int Quersumme(int zahl) { int quersumme = 0; while (zahl > 0) { quersumme += zahl % 10; zahl /= 10; } return quersumme; } int Anzahl(int zahl) { int anzahl = 0; while (zahl > 0) { zahl /= 10; ++anzahl; } return anzahl; } int main(){ int zahl, anzahl; for(zahl = 0; zahl <= 299; ++zahl{ if(zahl %7 == 0 || Quersumme(zahl) == 7) { for(anzahl = 0; anzahl < Anzahl(zahl); ++anzahl) printf("*"); } else {printf("%i", zahl);} printf(" "); } return 0; }
-
Ach sieh mal an, alles mit Schleifen.
-
counter schrieb:
Ohje, Ziffernsumme habe ich überlesen, der Begriff Quersumme wäre mir wahrscheinlich ins Auge gefallen...
Dann überlege dir einmal, wie du an die einzelnen Ziffern herankommst, Hinweis: %10 gefolgt von einem /10, um die letzte Stelle zu verwerfen.
Alles klar?
Greetz
ich verstehe es immer noch nicht!!
-
Dann schaue dir mal an, wie das in einem weiter oben geposteten Vorschlag gelöst wurde.
-
Wie schaffe ich die Zahlen die durch 7 teilbar sind oder deren Ziffernsumme 7 ist durch Sterne zu ersetzen?
#include<stdio.h> int main(void) { int zahlen; //die Variable für die Ausgabe von Zahlen 0-299 int e; //Einerstelle int z; //Zehners. int h; //Hunderters. for(zahlen=0;zahlen<=299;zahlen++){ //Ausgabe der Zahlen von 0 bis 299 e=zahlen%10; z=(zahlen/10)%10; h=zahlen/100; if(zahlen%7==0 || e+z+h==7) { printf("*"); } printf("%4d", zahlen); } return 0; }
-
Liest du die Antworten überhaupt durch?
Oooooo! hat doch die komplette Aufgabe schon gelöst. (vor 45 Minuten)
-
Ja aber ich verstehe es nicht wie er es gemacht hat, weil ich noch in der 1.Klasse bin und wir zwischen #include und int main() noch nie etwas geschrieben haben.
-
#include <stdio.h> int main(){ int zahl, tmpzahl, anzahl, i, quersumme; for(zahl = 0; zahl <= 299; ++zahl) { quersumme = 0; anzahl = 0; tmpzahl = zahl; while (tmpzahl > 0) { quersumme += tmpzahl % 10; tmpzahl /= 10; ++anzahl; } if(zahl %7 == 0 || quersumme == 7) { for(i = 0; i < anzahl; ++i) printf("*"); } else {printf("%i", zahl);} printf(" "); } return 0; }
-
Vielen DANK Oooooo!