ÜBERBLICK: Geben Sie für 2 ganze Zahlen (num1, num2) eine Funktion zurück, die die Anzahl der Zahlen zwischen num1..num2 zurückgibt, die durch num1 teilbar sind. Zum Beispiel: count (3, 15) gibt 5 (3, 6, 9, 12, 15) zurück. Hinweis: Sie müssen berücksichtigen, Inclusive-Bereich EINGÄNGE: Zwei Nummern num1, num2. num1, num2> = 0.Programm zum Zählen der Zahlen, die durch eine gegebene Zahl teilbar sind
OUTPUT: Gibt die Anzahl der Zahlen zwischen num1..num2 zurück, die durch num1 teilbar sind.
FEHLERFÄLLE: Gibt -1 in Fehlerfällen zurück. Dies ist mein Code:
int count(int num1, int num2) {
int temp;
int i, j,k;
i = num1;
j = num2;
temp = 0;
for (k = 1; k <= j;k++)
{
if (k%i == 0)
temp++;
}
return temp;
}
Während des Laufens Testfall in Visual Studio nur ein Test bestanden wird und ein weiterer Test ist nicht für den Test bestanden haben. Der Teil, den ich markiert habe, ist der Test, der fehlgeschlagen ist. (Countzero Testfall)
Im Folgenden ist der Fehler, der ausgelöst wird, wenn ich es in Werkzeug versucht, ausgeführt wird. Bitte helfen Sie mir
Veröffentlichen Sie keine Bilder von Text. Lesen Sie [fragen]. – Olaf
Die hilfreichste Sache, die Sie tun können, ist zu versuchen, in Worten selbst zu erzählen, was Sie denken, dass Ihr Code für ein paar einfache Testfälle tut. Wenn es einfacher ist, können Sie mit dem fehlerhaften Testfall beginnen. Sie geben nicht an, was der Fehlerfall ist, aber versuchen Sie 'count (9, 10)'. Ich denke, die zurückgegebene Antwort sollte "0" sein, aber Ihre Implementierung wird "1". Gehen Sie den Code durch, wenn "num1" 9 ist und "num2" 10 ist, Schritt für Schritt in Ihrem Kopf. –
Ich kann deine Bilder nicht sehen. Wie auch immer Sie gesagt haben, Sie wollen Zahlen zwischen eingefügten Zahlen zählen, aber Sie beginnen bei 1 in der "for" -Schleife.Ihre for-Schleife sollte wie folgt sein: 'für (k = num1; k <= num2; k ++) {if (k% num1 == 0) temp ++;}' –