5

これは私が達成しようとしている出力です:

(ランダム化された var1)/(ランダム化された var2)=
Ans:(var ans)

私はすでに足し算、引き算、掛け算をしましたが、答えるのが難しくないように正確な被除数と除数が必要なため、割り算で問題が発生しました。

例:

40/5=
答え: 8

これじゃない:

7/5=
ans: 浮動小数点値

これが私のコードです:

int x,num,num2,ans,quo,score=0;
time_t t;

clrscr();

for(x=0;x<5;x++)
{
    srand((unsigned) time(&t));
    num2=rand()%10;
    quo=num/num2;

    if(num2==1)
    {
        num=rand()%9;
    }
    else if(num2==2)
    {
        num=2 + (2 * rand ()) %18; //this should return a value divisible by 2(ranges 0-18)
    }
    else if(num2==3)
    {
        num=rand()% //this should return a value divisible by 3 only (ranges 0-27)
    }
    else if(num2==4)
    {
        num=rand()% //this should return a value divisible by 4 only (ranges 0-36)
    }
    else if(num2==5)
    {
        num=rand()% //this should return a value divisible by 5 only (ranges 0-45)
    }
    else if(num2==6)
    {
        num=rand()% //this should return a value divisible by 6 only (ranges 0-54)
    }
    else if(num2==7)
    {
        num=rand()% //this should return a value divisible by 7 only (ranges 0-63)
    }
    else if(num2==8)
    {
        num=rand()% //this should return a value divisible by 8 only (ranges 0-72)
    }
    else if(num2==9)
    {
        num=rand()% //this should return a value divisible by 9 only (ranges 0-81)
    }
    else if(num2==10)
    {
        num=rand()% //this should return a value divisible by 10 only (ranges 0-90)
    }
    else
    {
    }

    gotoxy(30,14);
    printf("\n%d / %d = ",num,num2);
    printf("\nAns: ");
    scanf("%d",&ans);
} 
4

5 に答える 5

3

ランダムな結果を選んで質問を作成できます

denominator = 14 (randomly chosen)
result = 21 (randomly chosen)

numerator = denominator * result

次に、あなたはいくらですかと尋ねますnumerator / denominator

于 2013-08-20T14:26:12.993 に答える
0

できるよ

float quo=(float)num/num2;
printf("%f\n", quo);

正確な結果を出力します

それらの間で割り切れる乱数が必要な場合は、別のものが必要です。

また、num前に開始num/num2;せず、num2 がゼロかどうかをチェックしないため、スローされる可能性があります。

最後に、次のようなことができます

num2=rand()%10;
num=rand();
while((float)num/num2 != (float)(num/num2))
    num=rand();
int quo=num/num2;

絶対に分割可能なカップルのみを受け入れることができる場合

于 2013-08-20T14:10:25.303 に答える
0

答え:

int x,num,num2,ans,quo,score=0; time_tt;

clrscr(); srand((符号なし) 時間(&t));

for(x=0;x<5;x++)
{
num2=rand()%9;

if(num2==1)
{
 srand((unsigned) time(&t));
 num=rand()%9;
}
else if(num2==2)
{
 srand((unsigned) time(&t));
 num=(rand()%9+1)*2;
}
else if(num2==3)
 {
  srand((unsigned) time(&t));
  num=(rand ()%9+1)*3;
 }
else if(num2==4)
 {
  srand((unsigned) time(&t));
  num=(rand()%9+1)*4;
 }
else if(num2==5)
 {
  srand((unsigned) time(&t));
  num=(rand()%9+1)*5;
 }
else if(num2==6)
 {
  srand((unsigned) time(&t));
  num=(rand()%9+1)*6;
 }
else if(num2==7)
 {
  srand((unsigned) time(&t));
  num=(rand()%9+1)*7;
 }
else if(num2==8)
 {
  srand((unsigned) time(&t));
  num=(rand()%9+1)*8;
 }
else if(num2==9)
 {
  srand((unsigned) time(&t));
  num=(rand()%9+1)*9;
 }
else if(num2==10)
 {
  srand((unsigned) time(&t));
  num=(rand()%9+1)*10;
 }
else
 {
  clrscr();
  printf("");
 }

quo=num/num2;
clrscr();
gotoxy(30,14);
printf("\n%d / %d = ",num,num2);
printf("\nAns: ");
scanf("%d",&ans);

}

于 2013-08-21T14:19:19.657 に答える