沒有0,
可以在初始化的地方加上:(然後38)。
for(int I = 0;我& lt11;i++)
{
充電溫度[20];
Sprintf(temp,"請計算0 \u% d = ",I);
空中交通管制[i+27]。方程式,溫度);
空中交通管制[i+27]。cqe =“0”;
}
如果要去掉10的操作,就是34,修改就不做了。方法已經很明顯了。
==========================================
如果妳想到在這個問題中生成1-9個隨機數,然後...那妳就被困住了。
愛思考的同誌們,誰能想到最好的算法?我只能想到以下幾點。
如果有更好更簡潔的,請告知並交流。
/********************************************\
* c語言編程產生十次以內的除法,
*數字是隨機生成的,並且必須是可整除的。
*而且每道題都非常正確,零錯誤,統計得分。
*
*描述
* 1需要壹個整數,並且在10以內,所以情況先窮舉。
* 2壹個* * *有27種表情。
* 2隨機數rand()%27選擇公式以實現壹致性。
* 2否則1÷1的概率最高。
\********************************************/
# include & ltstdlib.h & gt
# include & ltstdio.h & gt
# include & ltstring.h & gt
# include & ltconio.h & gt
結構公式
{
char方程[20];//存儲公式
char cque//公式結果
};
void初始化(公式*);
void main()
{
int j = 0;//27個隨機數
char tmp = 0;//輸入寄存器
int得分= 0;//統計結果
結構公式ATC[28];
初始化(ATC);//初始化,不明白嗎?
Printf("請仔細練習除法運算(因為使用getch比較簡單,結果10可以直接輸入0)\ n \ n ");
for(int I = 0;我& lt10;i++)
{
//獲取隨機公式
j = rand()% 27;
printf("%s ",atc[j].等式);
tmp = getch();
//我這裏用getch回顯,用0代替10,是為了提高調試效率。
if ( tmp == '0 ')
{
printf(" 10 ");
}
其他
{
printf("%c ",tmp);
}
//檢查操作
if ( tmp == atc[j])。cqe)
{
得分+= 10;
printf(" \ t更正\ n ");
}
其他
{
Printf("\t錯誤\ n ");
}
}
//輸出結果
printf(" \ n ");
printf(" \ n您的分數:%d\n ",score);
}
//如果生成1~9的隨機數,可以看到在27種情況下,
//1÷1的概率最大,驗證結果為整數的函數要寫。
無效初始化(公式* atc)
{
Strcpy(atc[0])。方程,“請計算10÷10 =);
atc[0]。cqe = ' 1 ';
Strcpy(atc[1])。方程,“請計算10÷5 =);
atc[1]。cque = ' 2
Strcpy(atc[2])。方程,“請計算10÷2 =);
atc[2]。cque = ' 5
Strcpy(atc[3])。方程,“請計算10÷1 =);
atc[3]。cqe =“0”;
Strcpy(atc[4])。方程,“請計算9÷9 =);
atc[4]。cqe = ' 1 ';
Strcpy(atc[5])。方程,“請計算9÷3 =);
atc[5]。cque = ' 3
Strcpy(atc[6])。方程,“請計算9÷1 =);
atc[6]。cque = ' 9
Strcpy(atc[7])。等式,“請計算8÷8 =);
atc[7]。cqe = ' 1 ';
Strcpy(atc[8])。等式,“請計算8÷4 =);
atc[8]。cque = ' 2
Strcpy(atc[9])。等式,“請計算8÷2 =);
atc[9]。cque = ' 4
Strcpy(atc[10])。方程,“請計算8÷1 =);
空中交通管制[10]。cque = ' 8
Strcpy (ATC [11])。方程,“請計算7÷7 =);
atc[11]。cqe = ' 1 ';
Strcpy(atc[12])。方程,“請計算7÷1 =);
atc[12]。cque = ' 7
Strcpy(atc[13])。等式,“請計算6÷6 =);
空管[13]。cqe = ' 1 ';
Strcpy(atc[14])。方程,“請計算6÷3 =);
atc[14]。cque = ' 2
Strcpy(atc[15])。等式,“請計算6÷2 =);
空中交通管制[15]。cque = ' 3
Strcpy(atc[16])。方程,“請計算6÷1 =);
空管[16]。cque = ' 6
Strcpy(atc[17])。等式,“請計算5÷5 =);
空管[17]。cqe = ' 1 ';
Strcpy(atc[18])。方程,“請計算5÷1 =);
atc[18]。cque = ' 5
Strcpy(atc[19])。等式,“請計算4÷4 =);
空管[19]。cqe = ' 1 ';
Strcpy(atc[20])。等式,“請計算4÷2 =);
atc[20]。cque = ' 2
Strcpy(atc[21])。方程,“請計算4÷1 =);
atc[21]。cque = ' 4
Strcpy(atc[22])。方程,“請計算3÷3 =);
atc[22]。cqe = ' 1 ';
Strcpy(atc[23])。方程,“請計算3÷1 =);
atc[23]。cque = ' 3
Strcpy(atc[24])。方程,“請計算2÷2 =);
atc[24]。cqe = ' 1 ';
Strcpy(atc[25])。方程,“請計算2÷1 =);
atc[25]。cque = ' 2
Strcpy(atc[26])。方程,“請計算1÷1 =);
atc[26]。cqe = ' 1 ';
}