|
本帖最后由 gaoyukonga 于 2013-7-1 05:20 编辑
//大一设计 求解
//本程序由忘记完成 论坛账号gaoyukonga
//@忘记 希望能帮助到您!
#include <stdio.h>
#include <stdlib.h>
int main()
{
//首先载入运算类型
int a,i=0,i2=0,d=1;//a为类型 i为分数 i2为错题数、d为题目番号
char yu='%';
printf("请输入运算数值位数!\n输入'1'为1位,运算包括('+'、'-'、'*')\n输入'2'为2位,运算包括('+'、'-'、'*'、'/')\n输入'3'为3位,运算包括('+'、'-'、'*'、'/'、'%c')\n",yu);
scanf("%d",&a);
if(a!=1 && a!=2 && a!=3){
printf("请输入1-3!\n");
}else if(a==1){
//1位运算处理
while(1){
srand(time(0));
int a1 = (rand()%9+1),b = (rand()%9+1),b1,b2,c = (rand()%3+1); // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
char c1;//初始化计算符号
if(c==1){c1='+'; b1=a1+b;}else if(c==2){c1='-'; b1=a1-b;}else if(c==3){c1='*'; b1=a1*b;}else{printf("系统出错!");}//符号、结果处理完成
printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
scanf("%d",&b2);//读入答案
if(b2==b1){
if(i2!=0){
if(i2>5){
i=i+2;
}else{
i=i+(10-i2*2);
printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
d+=1;
}
}else{
i=i+(10-i2*2);
printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
d+=1;
}
}else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案
}
}else if(a==2){
//2位运算处理
while(1){
srand(time(0));
int a1 = (rand()%90+10),b = (rand()%90+10),b1,b2,c = (rand()%4+1); // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
char c1;//初始化计算符号
if(c==1){c1='+'; b1=a1+b;}else if(c==2){c1='-'; b1=a1-b;}else if(c==3){c1='*'; b1=a1*b;}else if(c==4){c1='/';b1=a1/b;}else{printf("系统出错!");}//符号、结果处理完成
printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
scanf("%d",&b2);//读入答案
if(b2==b1){
if(i2!=0){
if(i2>5){
i=i+2;
}else{
i=i+(10-i2*2);
printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
d+=1;
}
}else{
i=i+(10-i2*2);
printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
d+=1;
}
}else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案
}
}else if(a==3){
//3位运算处理
while(1){
srand(time(0));
int a1 = (rand()%900+100),b = (rand()%900+100),b1,b2,c = (rand()%5+1); // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
char c1;//初始化计算符号
if(c==1){c1='+'; b1=a1+b;}else if(c==2){c1='-'; b1=a1-b;}else if(c==3){c1='*'; b1=a1*b;}else if(c==4){c1='/';b1=a1/b;}else if(c==5){c1='%';b1=a1%b;}else{printf("系统出错!");}//符号、结果处理完成
printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
scanf("%d",&b2);//读入答案
//很无耻的加了个获取答案的密码 哈哈!不要鄙视!!!
if(b2==888888){printf("答案为:%d\n",b1);d+=1;}else{
if(b2==b1){
if(i2!=0){
if(i2>5){
i=i+2;
}else{
i=i+(10-i2*2);
printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
d+=1;
}
}else{
i=i+(10-i2*2);
printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
d+=1;
}
}else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案
}
}
}
return 0;
}
代码写的比较详细 大家仔细看下 应该有收获的! 希望支持 以后会长解题!
|
|