前提・実現したいこと
現在VScodeを用いた、課題をやっています。
以下のコードにおいてuserVals >=21をターミナルに表示させたいです。
該当のソースコード
C
1#include <stdio.h> 2 3int main(void) { 4 const int NUM_ELEMENTS = 8; // Number of elements 5 int userVals[NUM_ELEMENTS]; // User numbers 6 int i; // Loop index 7 int sumVal; // For computing sum 8 9 // Prompt user to populate array 10 printf("Enter %d integer values...\n", NUM_ELEMENTS); 11 12 for (i = 0; i < NUM_ELEMENTS; ++i) { 13 printf("Value: \n"); 14 if (userVals[i] >= 21) { 15 printf("These numbers are over 21:"); 16 scanf("%d", &(userVals[i])); 17 } 18 } 19 20 return 0; 21} 22
試したこと
この部分を自分で変えたのですが、うまくいきませんでした。
if文のところがおかしいとは思うのですが、どのように改善したらよろしいでしょうか。
for (i = 0; i < NUM_ELEMENTS; ++i) { printf("Value: \n"); if (userVals[i] >= 21) { printf("These numbers are over 21:"); scanf("%d", &(userVals[i])); } }
どういう出力を目指してるんでしょうか
また、現状のコードではどうなるんでしょう
userValsをターミナルで8つ入力し、その中で21以上の数を表示させたいと考えています。
数を入力してから、その数が21以上かどうか調べないといけないのが分かりませんか?
値が設定されていない userVals[i] が 21以上の場合だけ、表示と入力をするのは間違っています。
具体的な入力と、具体的な出力を提示しましょう
言葉だけではわかりません
> 以下のコードにおいてuserVals >=21をターミナルに表示させたいです。
ここがどうとでも取れるので、一意になるように修正してもらえますか?
8個の数を入力した後で、21以上の数があるかないかを表示するんですか?
21以上の数が何個あるかを表示するんですか?
21以上の数はこれとこれとこれです、と表示するんですか?
8個の数の合計値も表示するんですか?
課題をそのままコピペしましょう。
Enter 8 integer values...
Value: 15 //この行が出力されない
Value: 22 //出力される
Value: 23 //出力される
Value: 11 //出力されない
Value: 77 //出力される
Value: 42 //出力される
Value: 45 //出力される
Value: 76 //出力される
このような形で出力したいと考えています。
質問の仕方が悪く申し訳ございません。
質問は
Modify the program to instead just print each number that is greater than 21.
もともと入力されていたコードが
#include <stdio.h>
int main(void) {
const int NUM_ELEMENTS = 8; // Number of elements
int userVals[NUM_ELEMENTS]; // User numbers
int i; // Loop index
int sumVal; // For computing sum
// Prompt user to populate array
printf("Enter %d integer values...\n", NUM_ELEMENTS);
for (i = 0; i < NUM_ELEMENTS; ++i) {
printf("Value: \n");
scanf("%d", &(userVals[i]));
}
return 0;
}
です。よろしくお願いします。
"greater than 21" は「21以上」じゃなくて「21より大きい」ですね
すみません、私の不勉強で英語を誤訳していました。
ご指摘、どうもありがとうございます。
回答1件
あなたの回答
tips
プレビュー