四則運算。隨機生成2個800以內(nèi)的正整數(shù)或零,隨機計算+、-、*或/,答案也必須是800以內(nèi)的正整數(shù)或零。
#include <time.h>
#include <stdlib.h>
#include <string.h>
int total;
char ti[50][50];
int isHave(char *str)
{
int i=0,ret = 0;
for (i=0;i<total;i++)
{
if (strcmp(ti[i],str)==0)
{
printf("have areadly\n");
return 1;
}
}
return ret;
}
int main()
{
int i=0,a,b,c;
char tmp[50]={0};
FILE*fp;
memset(&ti,0,sizeof(ti));
srand(time(0));//產(chǎn)生隨機數(shù)
total =0; //初始化 總數(shù)
while(i<50)//控制算式數(shù)目為50個
{
a=rand()%800;
b=rand()%800;//產(chǎn)生兩個800以內(nèi)的隨機數(shù)
c=rand()%4;//產(chǎn)生4以內(nèi)的隨機數(shù)來代替四則運算符號
switch(c)
{
case 0:
if(a+b<800)//限定范圍 使兩數(shù)之和限定在800以內(nèi)
{
sprintf(tmp,"%3d + %3d=\n",a,b);//寫入文件并輸出
if (isHave(tmp)==0)
{
strcpy(ti[total++],tmp);
i++;//加法運算
}else
{
i--;
}
}
break;
case 1:
if(a-b>0)
sprintf(tmp,"%3d - %3d=\n",a,b);
else
sprintf(tmp,"%3d - %3d=\n",b,a);
if (isHave(tmp)==0)
{
strcpy(ti[total++],tmp);
i++;//
}else
{
i--;
}
break;//減法運算 使兩數(shù)中較大數(shù)減去較小數(shù)
case 2:
if(a*b<800)//限定范圍 使兩數(shù)之積限定在范圍內(nèi)
{
sprintf(tmp,"%3d * %3d=\n",a,b);
if (isHave(tmp)==0)
{
strcpy(ti[total++],tmp);
i++;//加法運算
}else
{
i--;
}
}
break;
default:
if(b&&a%b==0)//除法運算 需在b為分母時不為0并且a能將b整除
{
sprintf(tmp,"%3d / %3d=\n",a,b);
}else if(a&&b%a==0)//與上述說明同理
{
sprintf(tmp,"%3d / %3d=\n",b,a);
}
if (isHave(tmp)==0)
{
strcpy(ti[total++],tmp);
i++;//
}else
{
i--;
}
break;
}
}
fp=fopen("D:\\question.txt","w");//打開d盤文件下的question.txt
if(fp==NULL)
{
printf("open file error\n");
return -1;
}//判斷文件打開是否有誤
for (i=0;i<50;i++)
{
fputs(ti[i],fp);
}
fclose(fp);//關(guān)閉文件
return 0;
}
不知道怎么的不能貼代碼模式了
我使用了isHave在每次存入本地二維字符串數(shù)組時在數(shù)組中遍歷
如果已經(jīng)存在則循環(huán)數(shù)減減 繼續(xù)下一次循環(huán)
如果不存在則存入二維字符串數(shù)組
最后把整個二維字符串數(shù)組寫入本地文件
代碼如下
這個代碼不復(fù)雜的,除了基本的,要用到的只有一個產(chǎn)生隨機數(shù)的函數(shù)!
srand((unsigned)time(NULL)); 這個代表生成一個隨機數(shù)
rand();取出一個隨機數(shù),%100是為了保證隨機數(shù)在100以內(nèi),比如rand()%20就是代表在20以內(nèi)的隨機數(shù)。
至于printf()這些都知道了撒。 老師問起來就這么說就好了。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x,y;
srand((unsigned)time(NULL));
x = rand()%100;
y = rand()%100;
printf("隨機兩個100以內(nèi)的數(shù)相加:\n");
printf("%d + %d = %d\n",x,y,x+y);
system("pause");
}
四則運算。隨機生成2個800以內(nèi)的正整數(shù)或零,隨機計算+、-、*或\/,答案...
srand(time(0));\/\/產(chǎn)生隨機數(shù) total =0; \/\/初始化 總數(shù) while(i<50)\/\/控制算式數(shù)目為50個 { a=rand()%800;b=rand()%800;\/\/產(chǎn)生兩個800以內(nèi)的隨機數(shù) c=rand()%4;\/\/產(chǎn)生4以內(nèi)的隨機數(shù)來代替四則運算符號 switch(c){ case 0:if(a+b<800)\/\/限定范圍 使兩數(shù)之和限定在800以內(nèi) ...
c語言編程500以內(nèi)的四則運算
= NUM){n[count] = abs(rand() % 500);\/\/ 這里寫 500 以內(nèi)的話, 你要求結(jié)果也是 500 以內(nèi), 基本上產(chǎn)生不了乘法除法的運算式子, 建議寫 30m[count] = abs(rand() % 500);op = abs(rand() % 4)
用JAVA出10個100以內(nèi)的隨機整數(shù)(1-99)的減法題
2、給你一些提示吧,你自己可以寫 3、隨機獲取0-N的整數(shù):new Random().nextInt(N);4、你上面的提示也有了,for循環(huán)可以控制次數(shù)。5、比上面的提示更加簡單的,你可以使用一個可以在java中執(zhí)行 js的腳本的第三方包,那問題就簡單多了,直接執(zhí)行對應(yīng)的字符串,看返回結(jié)果,對比就可以 6、獨孤碼農(nóng)...
本題要求編寫程序,計算2個正整數(shù)的和,差,積,商并輸出.題目保證輸入和輸 ...
例如,如果輸入5和3,程序會輸出10、2、15和1.67(四舍五入到小數(shù)點后兩位)。整個過程包括編譯和鏈接兩個步驟,最終生成可執(zhí)行的二進制文件,以便運行并實現(xiàn)指定的功能。以下是改寫后的代碼片段:在C語言中,要計算兩個正整數(shù)的算術(shù)運算,可以使用以下代碼:c#includeintmain(){unsignedintA,B;\/\/使...
規(guī)定正整數(shù)n的“H運算”
若對一個正整數(shù)進行若干次“H操作”后出現(xiàn)循環(huán),此時‘H’運算的結(jié)果總是a,則a一定是個奇數(shù)。那么,對a進行H運算的結(jié)果a*3+13是偶數(shù),再對a*3+13進行“H運算”,即:A*3+13乘以1\/(2^k)的結(jié)果仍是a 于是(a*3+13)*1\/2^k=a 也即 a*3+13=a*2^k 即 a(2^k-3)=13=1*13 因...
C語言求編程,1000以內(nèi)自然數(shù)表示為五個3的正整數(shù)冪的四則混合運算式...
用BFS吧,(1):應(yīng)該最大冪為6,則五個數(shù)分別可能是3^1,3^2,...3^6,這6種情況,即a[1] = {3^1,3^2,...3^6}={3,9,27,81,243,729}之一;a[2] = {3^1,3^2,...3^6}之一,...這里有6^5 ~= 8000可能 (2):枚舉4個運算符號,每個運算有4種可能,即+、-、*、...
奇異數(shù)之和+描述+編寫程序,輸入兩個小于1000的正整數(shù)+m+和+n+(+m+...
首先,程序會提示用戶輸入兩個小于 1000 的正整數(shù) m 和 n(保證 m < n),然后使用 scanf 函數(shù)將用戶輸入的數(shù)據(jù)保存在變量 m 和 n 中。接下來,我們使用一個 for 循環(huán),從 m 開始,一直到 n,每次循環(huán)都檢查當前的數(shù)是否是奇數(shù)。如果是奇數(shù),我們將它加入到變量 sum 中。最后,程序會輸出 m ...
...運算程序”,由此產(chǎn)生的結(jié)果總是會停留在某個或某幾個數(shù)字_百度知...
對于正整數(shù)n,若n為奇數(shù),則變?yōu)?n+1;若n是偶數(shù),變?yōu)閚\/2.對于正整數(shù)n,若n為奇數(shù),則變?yōu)?n+1;若n是偶數(shù),變?yōu)閚\/2 對于正整數(shù)n,若n為奇數(shù),則變?yōu)?n+1;若n是偶數(shù),變?yōu)閚\/2.
[gcc]隨機生成一個200位數(shù)字,并開13次方根
int main(void){ int i;double num;\/\/因為200位數(shù)太大,所以只能用double存,雖然最后不能非常精確,但是至少數(shù)量級是一樣的 num=0;for(i=0;i< 200;i++)\/\/200次循環(huán) { printf("%d",i);num = num*10 + i;\/\/每多一位數(shù),就把num乘以10加上i } printf("%lf\\n",pow(num,1.0 ...
...的四則運算。幫助某小學數(shù)學老師出試卷。隨機生成
希望對你有幫助~50道題目如下:53+164=472÷2=16+67=260÷65=374-155=2×86=15+82=13×11=33+130=76÷19=452+3=276÷6=103+63=5×90=105-42=282×1=330+54=234÷39=31+174=376÷1=141+229=28×15=139+228=0×320=498-276=378÷14=201-199=297÷9=231+210=3×129=494-...
相關(guān)評說:
奎文區(qū)非接: ______ 用一個數(shù)組a作為存儲數(shù)字的棧,另一個b作為存儲操作符的棧,彈出一個操作符即彈出對應(yīng)的兩個數(shù)字進行運算,然后將運算結(jié)果壓回a,直到a中只有一個元素,這個元素即為最后的結(jié)果.
奎文區(qū)非接: ______ 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878...
奎文區(qū)非接: ______ $num1 = rand(1, 100);$num2 = rand(1, 100);$opt = array('+', '-', '*', '/');$optrand = $opt[rand(0, 3)];$number = $num1 . $optrand . $num2;$number1 = eval("return $number;"); echo $number . '=' . $number1;?>
奎文區(qū)非接: ______ #include#include int main() { int a,b; char ch,pm='Y'; while(pm!='N') { cout<<"請輸入第一個數(shù):"< cin>>a; cout<<"請輸入運算符號:"< cin>>ch; cout<<"請輸入第二個數(shù):"< cin>>b; if(ch=='+') cout<< else if(ch=='-') cout<< else if(ch=='*') cout<< else if(ch=='/') cout< cout<<"結(jié)束輸入N,繼續(xù)輸入任意鍵!"< pm=getchar(); } return 1;} 要c++的行嗎?還要換成c嗎?
奎文區(qū)非接: ______ 1#include main(){int a,b,c;do{printf("請輸入兩個要相加的數(shù)\n");scanf("%d %d",printf("請輸入答案\n");...
奎文區(qū)非接: ______ //隨手寫的.什么文字說明的自己再細化下.我是在VC下編譯成功的.TC有問題再說.復(fù)制后,請自己斷行,不然可能會有錯的. #include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int choose; int n,m; int time; int ans,sum;//做對...
奎文區(qū)非接: ______ 兩個需要運算的數(shù)字可以用隨機函數(shù) rnd 來得到,而四個運算符可以放在數(shù)組里面,數(shù)組的下標又可以用隨機函數(shù)取得,則運算符也是隨機的,把取得的運算符放在一個標簽里 如 label1 然后用選擇語句 select 來判斷l(xiāng)abel1.caption 中的運算符 ...
奎文區(qū)非接: ______ 簡單寫了一下,你看看行7a64e4b893e5b19e31333337626138不行,python3.X import random opr = ['+','-','*','÷'] jg = '0' print('Input "0000" Quit') while True: fh = random.randint(0, 3) n1 = random.randint(1, 10) n2 = random.randint(1, 10) rjg ...
奎文區(qū)非接: ______ 您的錯誤是不明白指針和數(shù)組 首先所有函數(shù)定義時參數(shù)用ys *t或 ys t[]就行 其次t[i]跟成員時用.不用 -> 最后聲明時用ys t[10]即可 為了好看增加了一個endl在出題中#include<iostream.h>#include<stdlib.h> typedef struct { int data1;//第一項 int data2...
奎文區(qū)非接: ______ 1題: #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 10 int rand_number() { srand((unsiged)time(NULL)); return rand()%10+1; } int rand_operator() { int k; srand((unsigned)time(0)); k=rand%4; switch(k) { case 0: return '+'; ...