以下、私はwhileループに入る関数を作成しました。 whileループでは、if文が呼び出されてリストを走査し、数値を調べて、どれが最大かどちらが最小かを調べます。プログラムを実行すると、printf()
が1つだけ呼び出され、同じprintf()
が複数回出力されます。 2つの数字を選んで、同じprintf()
関数の下にそれらを印刷するようです。私はfirstNumber = firstNumber->next;
がそのリストを横断するはずです。 secondNumber = secondNumber->next->next;
はリストの次の番号を指すはずですか?私は自分のプログラム内のポインタと混同していると信じています
typedef struct A_NewNumber {
struct A_NewNumber *next;
double newNum;
} NewNumber;
void NumberSize(NewNumber *start) {
NewNumber *firstNumber = start;
NewNumber *secondNumber = start;
if(start != NULL) {
while (secondNumber != NULL && secondNumber->next != NULL) {
secondNumber = secondNumber->next->next;
firstNumber = firstNumber->next;
if(secondNumber > firstNumber) {
printf("The biggest number is:%lf \n",secondNumber->newNum);
} else {
printf("The smallest number is:%lf \n",firstNumber->newNum);
}
firstNumber = firstNumber->next;
}
}
}
完全なプログラムの例の実行:if()
内部
Please enter a number or
'quit' to stop or 'print' to print/calculate
12
Please enter a number or
'quit' to stop or 'print' to print/calculate
13
Please enter a number or
'quit' to stop or 'print' to print/calculate
14
Please enter a number or
'quit' to stop or 'print' to print/calculate
15
Please enter a number or
'quit' to stop or 'print' to print/calculate
16
Please enter a number or
'quit' to stop or 'print' to print/calculate
17
Please enter a number or
'quit' to stop or 'print' to print/calculate
print
Numbers:12.000000
Numbers:13.000000
Numbers:14.000000
Numbers:15.000000
Numbers:16.000000
Numbers:17.000000
The biggest number is:14.000000
The biggest number is:16.000000
The smallest number is:17.000000
...私はそれはあなたが達成したいものだ場合はよく分からない注意を
:私はこのような何かをやっているだろうデータが作成され、MCVEが出力する内容をデモンストレーションし、出力する内容を説明します。 –
これは一般的な話題(これまでのところ)に関する7番目の質問です。それ自体は自動的に悪くはありませんが、いくつかの注意が適切です。あなたの課題はリンクされた数字のリストを使用する必要がありますか?そうでなければ、おそらく配列を使う方が賢明でしょう。このコードは、リスト内の要素(1,2)、(2,3)、(3,4)、...または要素(1,2)、(3,4)、...何かのペアワイズ比較を行うことを意図していますか? else。あなたはこれを明確に指定していません。 –
@JonathanLeffler私はこのサイトの使用に関する私の知識の欠如と私の知識の欠如が問題になっている場合、私はお詫び申し上げます。あなたの最初の割り当てのためにこれのようなことをするように求められ、あまりプログラミングではなく、クラスで教えられます。割り当てを行うプロセスが少し不快になります。私が質問を続けているうちに、毎回Cについて多くのことを学んでいます。無数のYouTubeの動画を見ている以上のことです。プログラミングはいつも私のために難しかったし、このサイトを使って私が理解しやすくなった。私は助けから自分で適切な機能を書くことができました。 –