2

特定の要素が for ループ内で見つかった場合は 1 つを印刷しようとしていますが、見つからない場合は別のものを印刷しようとしています。これは単純なはずですが、さまざまな方法で実行しようとしましたが、どれもうまくいかないようです。

int squaresArray[1000];
int numberOfSquares = 1000;
int i = 0;
int found = 0;
int number = 100;

for (; i<numberOfSquares; i++)
{
    squaresArray[i] = i*i;
    if (number==squaresArray[i])
    {
        found = 1;
    }
            if (found == 1){
                printf("%d is a perfect square", number); 
                break;}
            else {
                printf("%d is not a perfect square", number);
                break;} 
    }

いくつかの問題があります。「見つかった」変数がifステートメントの外側の範囲外になるため、ifステートメントの外側でprintf部分を実行できないか、「[数値]は完全な正方形ではありません」と出力するだけです「何十回も。これどうやってするの?私はこの問題に何時間も費やしました。

4

6 に答える 6

0

forループ内で特定の要素が見つかった場合は1つを印刷しようとしていますが、見つからない場合は別のものを印刷しようとしています

擬似コード:

int found = 0;
for each element e {
    if e is the one I'm looking for {
        found = 1
        stop the loop
    }
}
if (found)
    print one thing
else
    print something else
于 2013-10-05T23:13:53.400 に答える
0
int squaresArray[1000];
int numberOfSquares = 1000;
int i = 0;
int found = 0;
int number = 0;

for (; i<numberOfSquares; i++)
{
    squaresArray[i] = i*i;
    if (number==squaresArray[i]){
        found = 1;
        break;
     }
}
if (found == 1){
                printf("%d is a perfect square", number); 
                break;}
            else {
                printf("%d is not a perfect square", number);
                break; 
    }
于 2013-10-05T23:07:57.673 に答える