當前位置:首頁 » 編程語言 » c語言隨機數出題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言隨機數出題

發布時間: 2023-01-08 16:25:06

『壹』 用c語言把明明的隨機數這個題目做下

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int n,i,j,c;
int a[1000],b[1000];
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i];
}
for(i=1;i<n;i++)
{
for(j=1;j<n;j++)
{
if (a[j]>a[j+1])
{
c=a[j];
a[j]=a[j+1];
a[j+1]=c;
}
}
}
for(i=1;i<=n;i++)
{
if (a[i]!=a[i-1])
{
b[0]++;
b[b[0]]=a[i];
}
}
cout<<b[0]<<" ";
for (i=1;i<=b[0];i++)
{
cout<<b[i]<<" ";
}
system("PAUSE");
return EXIT_SUCCESS;
}

『貳』 C語言編程:隨機出10道100以內的整數加減法算術題。

這個其實很簡單
給你個完整的,我很少寫完整的代碼
#include <stdio.h>
main()
{
int i;
int a[10],b[10],c[10],d[10],e[10];
for(i=0;i<10;i++) //生成題目
{
while(1)
{
a[i]=rand()%100+1; //產生ab隨機數
b[i]=rand()%100+1;
c[i]=rand()%4+1; //產生運算+-*/隨即數
switch(c[i])
{
case 1:d[i]=a[i]+b[i];break;
case 2:d[i]=a[i]-b[i];break;
case 3:d[i]=a[i]*b[i];break;
case 4:while(b[i]==0) //在除法中,要是b是0,重新生成,直到不是0為止
b[i]=rand()%100+1;
d[i]=a[i]%b[i];break; //這里看余數,一般來說,不能整除,不可以
}
if((d[i]<100||d[i]>0)II(c[i]==4&&d[i]!=0)) //判斷d是否在100之內,還有就是除法不能有餘數
break; //滿足條件,生成下一個,不滿足重新來過
}
if(c[i]==4)
d[i]=a[i]/b[i]; //這個算出除法的結果
}
for(i=0;i<10;i++) //出題
{
printf("%d\n%d",i+1,a[i]);
if(c[i]==1)
putchar("+");
if(c[i]==2)
putchar("-");
if(c[i]==3)
putchar("X");
if(c[i]==4)
putchar("/");
printf("%d=",b[i]);
scanf("%d",e[i]);
system("cls");
}
for(i=0;i<10;i++) //最後列印結果
{
printf("%d\n%d",i+1,a[i]);
if(c[i]==1)
putchar("+");
if(c[i]==2)
putchar("-");
if(c[i]==3)
putchar("X");
if(c[i]==4)
putchar("/");
printf("%d=%d",b[i],e[i]);
if(d[i]==e[i])
printf("yes!!\n");
else
printf("NO!! %d\n",d[i]);
}
}

『叄』 C語言如何實現從指定題庫里抽取題目,實現隨機出題

比如現在有100道題,要抽10道題。

  1. 先建立一個試題索引數組,idxarr = {0,1,2,...,99}

  2. 然後用隨機數生成函數rand(),生成一個0到99的隨機數,把索引數組裡面該索引的值與數組中最後一個值調換,比如生成隨機數為2,則修改索引數組為idxarr={0,1,99,3,4,...,98,2}

  3. 然後再生成一個0到98的隨機數,把索引數組裡面該索引的值與數組中倒數第二個值調換,比如這次生成的隨機數是4,則修改索引數組為idxarr={0,1,99,3,98,5,...,97,4,2}

  4. 以此類推...執行10次,最後索引數組裡面最後十個裡面的值,就是抽出的試題索引號

    有啥不明白的,可以再問我

『肆』 利用C語言隨機產生20道口算題

解題思路:

1、編寫測試題,且為30道,就要用到循環函數,因此想到用for()函數。

2、隨機產生兩個數,就想到用rand()函數。

代碼如下:#include<iostream.h>

#include<stdlib.h>

#include<time.h>

int main()

{

int x,y,z,t;

srand(time(NULL));

cout<<"小學二年級四則運算測試題"<<endl;

for(int i=0;i<30;i++)

{

x=rand()%100;

y=rand()%100;

z=rand()%4;

switch(z)

{

case 0:

cout<<x<<"+"<<y<<"="<<endl;

break;

case 1:

if(x<y)

{

t=x;

x=y;

y=t;

}

cout<<x<<"-"<<y<<"="<<endl;

break;

case 2:

cout<<x<<"*"<<y<<"="<<endl;

break;

case 3:

if(y!=0)

{

cout<<x<<"/"<<y<<"="<<endl;

}

else

{

i=i-1;

}

break;

default:

cout<<"超出測試范圍"<<endl;

break;

}

}

cout<<"恭喜你已經完成了30道數學測試題"<<endl;

return 0;

}

『伍』 c語言隨機生成10到加減法題 用rand函數

先用srand函數設置隨機數種子,再用rand函數取兩個隨機數作為運算數字,而運算符只有+和-,那麼用rand()%2來得到0~1的隨機數來決定運算符號。

下面演示代碼,隨機生成10道加減題,輸入回答,判斷正確性。

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#define M 10//題目數量

int main(void)

{

int n=M,num1,num2,s,y,a;

srand(time(NULL));

while(n--)

{

y=rand()%2;

num1=rand();

num2=rand();

if(y)

printf("問題%d:%d+%d=",M-n,num1,num2),s=num1+num2;

else

printf("問題%d:%d-%d=",M-n,num1,num2),s=num1-num2;

scanf("%d",&a);

if(a==s)printf("回答正確! ");

else printf("回答錯誤!正確答案:%d ",s);

}

return 0;

}

『陸』 c語言10以內隨機加減乘除出題然後是否繼續做題

代碼:
#include<stdio.h>

#include<stdlib.h>
int main()
{
  char c;/*字元c表示四則運算符*/
  double a,b;/*a,b表示參與運算的數字*/
  scanf("%c",&c);/*輸入c,即選擇運算符*/
  if(c=='A'||c=='S'||c=='M'||c=='D')
  {
      scanf("%lf%lf",&a,&b);/*輸入表示參與運算的數字*/
 if(c=='A')/*滿足條件即進行加法運算*/
 printf("%g",a+b);
      else if(c=='S')/*滿足條件即進行減法運算*/
 printf("%g",a-b);
       else  if(c=='M')/*滿足條件即進行乘法運算*/
 printf("%g",a*b);
       else if(c=='D')/*滿足條件即進行除法運算*/
 printf("%g",a/b);
  }
   else
   exit(1);/*若輸入字元並非表示四則運算的字元則退出程序*/
  return 0;
}