こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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 からの入力で後に通ずく数値はシャッフルした数値を入力したいとおもっていますがうまくいきません。どなたかお願いします。
     〇  ●●●●(イメージです)

投稿日時 - 2014-03-07 09:50:47

QNo.8503486

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

既に、同じような質問の回答で指摘されていますが、

「うまくいきません」という質問は、プログラム関係ではしてはいけないものだと考えた方が良いです。

1)何をするプログラムか(普通の言葉で説明)

2)入力例

「"指定する数値を入力して下さい」(1回目)で、 1 2 3 4 5 -1 を入力
「"指定する数値を入力して下さい」(2回目)で、 9 8 7 6 5 -1 を入力

3)想定される出力

5 2 1 3 4 5

4)実際の出力 または コンパイルで出たエラーをリストアップ

最低限必要です。

「〇  ●●●●」が想定される出力ですか?

投稿日時 - 2014-03-07 10:07:57

あなたにオススメの質問