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

c語言隨機加減乘除

發布時間: 2023-01-10 05:21:18

c語言代碼,100以內隨機加減乘除

//100以內加減乘除 不會出現 97*33 或者是 37 / 21 之類的
//但還是避免不了 1*30, 10/1 這么殘的
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

void swap(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
}
int func(){
int opn1, opn2, index;
int input, ret, i;
char op;
const char op_a[] = {'+', '-', '*', '/'};
srand(time(NULL));
index = rand()%4;
op = op_a[index];
switch(index){
case 0:
case 1:
ret = rand()% 100 + 1;
opn1 = rand()% ret;
opn2 = ret - opn1;
if(index == 1) swap(ret, opn1);
break;
case 2:
case 3:
ret = rand()% 100 + 1;
opn2 = (rand() % 10 + 1);
opn1 = ret / opn2;
if(opn1 == 0) ret *= 10;
opn1 = ret / opn2;
opn2 = ret /opn1;
ret = opn1 * opn2;
if(rand()%2 == 0) swap(opn1, opn2);
if(index == 3) swap(ret, opn1);
break;
default:
break;
}
printf("%d %c %d = ?\n", opn1, op, opn2);
i = 0;
scanf("%d", &input);
while(input != ret){
printf("wrong %d\n", ++i);
if(i == 3) {
printf("answer is %d\n", ret);
break;
}
scanf("%d", &input);
}
if(i < 3) printf("right\n");
return i;
}
int main(){
//func();
while(1) func();
return 0;
}

❷ c語言問題 請問如何隨機產生加減乘除任意一種運算符號呢

#include<stdlib.h>
#include<time.h>
intmain()
{
inta,b,i,s,num,n=0;
charch,cal[4]={'+','-','*','/'};
srand(time(NULL));
for(i=0;i<10;i++)
{
a=rand()%10+1;
ch=cal[rand()%4];
b=rand()%10+1;
printf("%d%c%d=",a,ch,b);
switch(ch)
{
case'+':s=a+b;break;
case'-':s=a-b;break;
case'*':s=a*b;break;
case'/':s=a/b;break;
}
scanf("%d",&num);
if(num==s)
{
printf("Right! ");
n++;
}
elseprintf("Wrong! ");
}
printf("總分:%d 正確率:%%%d",n*10,n*10);
return0;
}

❸ c語言中如何隨機輸出加減乘除

給定加減乘除的符號,給一個字元串,然後隨機分配一個數,輸出這個數所對應的字元串中的字元。

#include<stdio.h>

main()

{

float a,b;

char c;

printf("請按照這樣的格式輸入zhuan:a(+,-,*,/)b ");

scanf("%f%c%f",&a,&c,&b);

switch(c)

{

case'+': printf("%f",a+b);break;

case'-':printf("%f",a-b);break;

case'*':printf("%f",a*b);break;

case'/':printf("%f",a/b);break;

default:printf("輸入有誤");

}

}

(3)c語言隨機加減乘除擴展閱讀:

C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。

❹ c語言怎樣隨機選擇加減乘除

1對應加,2對應減,3對應乘,4對應除,然後用隨機數函數,根據得到的隨機數,選擇用哪一個。

❺ C語言中怎麼產生隨機加減乘除運算

晚上要是有時間就給你作出來

❻ c語言 生成兩個隨機數隨機加減乘除 並且相減相除時前面的數要比後面的大 (都是整數運算)相除時要整除

兩個隨機數 x,y, 隨機加減乘除 z ..程序如下。
#include <stdio.h>
#include <time.h>

int main(){
int x,y,z,t,i;
srand(time(0));
for (i=0;i<8;i++){
z = rand()%4;
x = rand()%100+1;
y=rand()%100+1;
if (x<y){t=x;x=y;y=t;};
switch(z){
case 0: printf("%d+%d=%d\n",x,y,x+y);break;
case 1: printf("%d-%d=%d\n",x,y,x-y);break;
case 2: printf("%d*%d=%d\n",x,y,x*y);break;
case 3: printf("%d/%d=%d\n",x,y,x/y);break;
};
};
return 0;
}

❼ c語言如何隨機100以內的加減乘除算術題

如果只包含一個運算符你可以直接隨機數,首先給運算符編號:如:+1,-2,*3,÷4然後表達式:a=隨機函數算出的100以內整數b=隨機函數算出的100以內整數c=隨機運算符的編號然後casecc=1//即加法的時候計算a+bc=2//即減法的時候計算a-b(此時需要判斷a和b的大小,如果a<b,應該需要重新隨機a和b)c=3//即乘法的時候計算a*bc=4//即除法的時候計算a/b(需要判斷b是否為0,為0則需要重新隨機b,當a!=a/b*b時即a無法整除b的時候也需要重新隨機b)

❽ 用C語言隨機出十個加減乘除運算,判斷對錯給總分

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
voidfun()
{
inta,b,c,s,s1;
srand(time(NULL));
a=rand()%9+1;
b=rand()%9+1;
c=rand()%4+1;
switch(c)
{
case1:s=a+b;printf("%d+%d=",a,b);break;
case2:s=a-b;printf("%d-%d=",a,b);break;
case3:s=a*b;printf("%d*%d=",a,b);break;
case4:s=a;printf("%d/%d=",a*b,b);break;
}
scanf("%d",&s1);
if(s==s1)printf("回答正確! ");
elseprintf("回答錯誤!答案是:%d ",s);
}
intmain()
{
while(1)fun();
return0;
}

❾ C語言隨機產生四則運算,加減乘除最少一次怎麼處理

既然是,隨機產生四則運算,那麼就讓計算機產生一個0到3之間的隨機整數,然後根據得到的隨機整數來確定採用哪種運算,數字零代表加,一代表減,二代表乘法,三代表除法。因為產生的數量有十個,所以一般運算符都是會產生的。為確保萬無一失,可以,前面四個分別是加減乘除,後面四個就讓它隨機產生。

❿ 用C語言編程隨機產生一道包含加減乘除的數學題

//小學生四則運算
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//產生 [a,b] 區間的隨機數
#define RANDOM(a,b) (rand()%((b+1)-(a)) + (a))

//產生 1-20 的整數,如要改變算術范圍,則修改這個宏的參數即可
#define GEN_VALUE() RANDOM(1, 20)

void main()
{
int v1, v2, t, r, a;
char op, ops[] = { '+', '-', '*', '/' };

srand( (unsigned)time(NULL) ); //用當前時間初始化隨機數種子

printf( "請答題 Ctrl+C 結束...\n" );
while(1)
{
v1 = GEN_VALUE(); //隨機生成第1個算數
v2 = GEN_VALUE(); //隨機生成第2個算數
op = ops[ RANDOM(0,3) ]; //隨機決定是哪個運算符

//保證第1個算數大於第2個算數,如不需要,則把這個判斷刪除即可
if( v1<v2 )
{
t = v1;
v1 = v2;
v2 = t;
}

//如果運算符為除法,且v1不能被v2整除則重新生成題目
if( op=='/' && v1%v2!=0 )
continue;

//計算正確的結果
switch(op)
{
case '+': a=(float)v1+(float)v2; break;
case '-': a=(float)v1-(float)v2; break;
case '*': a=(float)v1*(float)v2; break;
case '/': a=(float)v1/(float)v2; break;
}

//輸出算式
printf( "%d%c%d=", v1, op, v2 );

//等待輸入結果
scanf( "%d", &r );

if( r == a )
printf( " 答對嘍!\n\n" );
else
printf( " 答錯嘍!正確答案是:%d\n\n", a );
}
}