- 締切済み
c言語についてですが
#include <stdio.h> #include <stdlib.h> #include <time.h> #define D_ABC 50 #define S_NUMBER 5 int main( void ) { int abc[ D_ABC ]; int goukei; int homi; int sa[S_NUMBER]; int s; int m; int p; int k; s = 0; printf( "指定する数値を入力して下さい。\n"); do{ scanf( "%d", &sa[s++] ); } while(sa[s-1] > 0 ); --s; p = 0; printf( "指定する数字を入力して下さい。\n" ); do{ scanf( "%d", &abc[p++] ); } while( abc[p - 1] > 0 ); --p; srand( time(NULL)); for( m = 0; m < 5; m++ ) { do{ for( k = 0; k < 100; k++ ) { int o = rand() % p; int t = rand() % p; int buf; buf = abc[o]; abc[o] = abc[t]; abc[t] = buf; } goukei = 0; homi = 0; for( k = 0; k < 5; k++ ) { goukei += abc[k]; if( ( abc[k] % 2 ) == 0 ) ++homi; } } while( goukei < (50 - [sa] || goukei > (110 - [sa]) || homi < 2 || homi > 3 ); for( k = 0; k <4; k++ ) printf( "%d%d\t",sa[s], abc[k] ); printf( "\n" ); } return 0; } このようなソースプログラムを書いてみたんですがうまくいきません。 最初の数値はS_NUMBER からの入力で後に通ずく数値はシャッフルした数値を入力したいとおもっていますがうまくいきません。どなたかお願いします。 〇 ●●●●(イメージです)
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 麻野 なぎ(@AsanoNagi)
- ベストアンサー率45% (763/1670)
既に、同じような質問の回答で指摘されていますが、 「うまくいきません」という質問は、プログラム関係ではしてはいけないものだと考えた方が良いです。 1)何をするプログラムか(普通の言葉で説明) 2)入力例 「"指定する数値を入力して下さい」(1回目)で、 1 2 3 4 5 -1 を入力 「"指定する数値を入力して下さい」(2回目)で、 9 8 7 6 5 -1 を入力 3)想定される出力 5 2 1 3 4 5 4)実際の出力 または コンパイルで出たエラーをリストアップ 最低限必要です。 「〇 ●●●●」が想定される出力ですか?