C语言题 4.随机生成10道两位数的加法题,由用户给出答案,做对一道加10分,最后输出成绩。

作者&投稿:祗祁 (若有异议请与网页底部的电邮联系)
C语言题 4.随机生成10道两位数的加法题,由用户给出答案,做对一道加10分,最后输出成绩。~

下面是我写的一位数加法运算的程序 ,你可以参考下。祝你好运
#include
using namespace std;

void main()
{
cout<<"下面将有十道题:请输入正确答案并按回车"<<endl;
int total=0;

for(int q=1;q<=10;q++)
{
cout<<"这是题目";
cout<<q<<endl;
int a =rand()%10+1;
int b=rand()%10+1;
cout <<a ;
cout<<"+";
cout<<b;
cout<<"="<<endl;
cout<<"请输入答案~"<<endl;
int A;
cin>>A;
if(A==(a+b))
{
cout<<"正确!";
total=total+10;
}
else
cout<<"错误!"<<endl;

}
cout<<"你的得分为:";
cout<<total<<endl;
cout<<"你答错的题目数为:";
cout<<10-total/10<<endl;


}

#include#include#includeintmain(){intnum1,num2;srand(time(NULL));num1=rand()%100;num2=rand()%100;printf("%d+%d=",num1,num2);num1+=num2;scanf("%d",&num2);if(num1==num2){printf("Score:5
");}else{printf("Score:0
");}return0;}

//以前写的,你简单的修改下吧
#include <iostream>
#include <stdlib.h>
#include <ctime>
#include <conio.h>

using std::cin;
using std::cout;
using std::endl;

//计算式 数量
int const Num = 100;
//计算式中 最大数
int const MaxNum = 100;
//每题分数
int const PerMark = 1;
//计算结果最大值
int const MaxResult = 100;
//计算结果最小值
int const MinResult = 0;

enum enOp{Add,Subtract,Multiply,Divide};

//将 枚举类型转换为字符类型,以便输出。
char enum2char(enOp op)
{
switch (op)
{
case Add:
return '+';
case Subtract:
return '-';
case Multiply:
return 'x';
case Divide:
return '/';
}
return ' ';
}

//计算生成表达式的正确结果。
int myResult(int left,int right,enOp op)
{
switch (op)
{
case Add:
return left+right;
case Subtract:
return left-right;
case Multiply:
return left *right;
case Divide:
return left/ right;
}
return 0;
}

//检查生成计算式的正确与否。其中 减法结果不能为负数,除法结果不能为小数。
bool checkFormula(int left,int right,enOp op)
{
switch (op)
{
case Add:
{
return true;
}
case Subtract:
{
if(left < right)
return false;
return true;
}
case Multiply:
{
return true;
}
case Divide:
{
if(right == 0)
return false;
if(double(left/right) != double(double(left)/double(right)))
return false;
return true;
}
}
return false;
}

//依据给定操作符,生成符合条件的表达式。
void getFormula(int* left,int*right,enOp op)
{
//srand(time(NULL));
for(;;)
{
*left = 1 + rand() % MaxNum;
*right = 1 + rand() % MaxNum;
if(checkFormula(*left,*right,op) && myResult(*left,*right,op)<= MaxResult && myResult(*left,*right,op)>= MinResult)
break;
}
}

int main()
{
//操作符左值
int left[Num];
//操作符右值
int right[Num];
//用户输入计算结果
int result[Num];
//操作符 +-*/
enOp oper[Num];
//正确答案个数
int answerRight = 0;

cout<<"正在生成,请稍等。"<<endl;
//随机种子
srand(time(NULL));
//开始生成计算表达式。
for(int i = 0;i<Num;i++)
{
//srand( (unsigned)time(NULL));
//操作符
oper[i] = enOp(rand()%4);
getFormula(&left[i],&right[i],oper[i]);
}

cout<<"生成计算式完成,开始答题!"<<endl;

//输出表达式,让用户答题
for(int i = 0;i<Num;i++)
{
//输出表达式
cout<<"第 "<<i+1<<" 题: \n";
cout<<left[i]<<' '<<enum2char(oper[i])<<' '<<right[i]<< " = ";
//获取用户答案
cin>>result[i];
//比对用户答案是否正确,正确输出 right,answerRigth加一,否则输出not correct。
if(result[i] == myResult(left[i],right[i],oper[i]))
{
cout<<"Right!\n";
answerRight++;
}
else
{
cout<<"Not correct!\n";
}
}

//全部答题完毕,输出正确答案个数及得分。
cout<<"终止答题,共 "<<Num<<" 题,每题 "<<PerMark<<" 分 ,答对 "<<answerRight<<" 题,得分 :"
<<answerRight*PerMark<<" 分。";

//屏幕停止。
getch();

return 0;
}

#include <iostream>
#include <time.h>
using namespace std;

int generateRandQ()
{
int left=rand()%100;
int right=rand()%100;
printf("%d+%d=",left,right);
return left+right;
}
void main()
{
int result;
int cinresult;
int score=0;
srand(time(NULL));
printf("请回答以下10道数学题,总分100,共10题\n");
int QNum=1;
while (QNum<=3)
{
result=generateRandQ();
cin>>cinresult;
if (cinresult==result)
{
score+=10;
printf("该题目回答正确\n");
}
else
{
printf("该题目回答错误\n");
}
QNum++;
}
printf("你的总分为%d",score);
system("pause");
}

什么题目


磴口县18059142281: 求一道C语言程序的编程:随机产生10个二位整数,要求将这10个数顺序输出
舒行脱氧:#include<stdio.h> #include<stdlib.h> #include<time.h> main() { int a[10],i,j,b; srand(time(0)); for(i=0;i<10;i++)a[i]=rand()%90+10; for(i=0;i<9;i++) for(j=0;j<9;j++) { if(a[j]>a[j+1]) { b=a[j]; a[j]=a[j+1]; a[j+1]=b; } } for(i=0;i<10;i++)printf("%4d",a[i]); system("pause"); }

磴口县18059142281: C语言题 4.随机生成10道两位数的加法题,由用户给出答案,做对一道加10分,最后输出成绩. -
舒行脱氧: 下面是我写的一位数加法运算的程序 ,你可以参考下.祝你好运#include <iostream> using namespace std; void main() { cout<<"下面将有十道题:请输入正确答案并按回车"<<endl; int total=0; for(int q=1;q<=10;q++) { cout<<"这是题目"; ...

磴口县18059142281: c语言:随机产生10个两位正整数,分别统计其中偶数和奇数的个数,以及各类数据之和.
舒行脱氧: 123456789101112131415161718 #include <stdio.h>#include <stdlib.h>#include <time.h> intmain() { intsa=0,sb=0,n,i,a=0,b=0; srand(time(NULL)); for(i = 0; i<10; i++) { n=rand()%90+10; if(n%2==0) {a++; sa+=n;} else{b++; sb+=n;} } printf("奇数%d个,和为%d, 偶数 %d个,和为%d\n", b, sb, a, sa); return0; }

磴口县18059142281: c语言随机生成10个数,并且将偶数位得数输出
舒行脱氧: 思路:首先初始化数组;然后偶数位输出.简单代码如下:#include<time.h> int main() { srand(time(0)); int num[10]; for(int i=0;i<10;i++) num[i]=rand(); //若要规定随机数的区间 num[i]=rand()%max+1 (1--max) for(int i=1;i<10;i+=2) printf("第%d位:%d\n",i+1,num[i]); return 0; }

磴口县18059142281: 编写一个程序,用来随机产生10个两位数并找出其中的最大数及最大数的位置 -
舒行脱氧: CLS RANDOMIZE TIMER DIM a(10) m = 0: n = 1 FOR i = 1 TO 10a(i) = INT(RND * 90 + 10)PRINT "a("; LTRIM$(STR$(i)); ")="; a(i) NEXT i FOR i = 1 TO 10IF m < a(i) THEN m = a(i): n = i NEXT i PRINT SELECT CASE nCASE 1n$ = "st...

磴口县18059142281: c语言随机生成两位数,范围是10 - 99
舒行脱氧: #include <stdlib.h>#include <time.h>int main() {srand((unsigned)time(NULL));int a=rand()%90+10;return 0;}

磴口县18059142281: c语言:随机产生两个数字进行10次四则运算测试题,手动输入答案判断正误 -
舒行脱氧: 以下代码使用Turbo C做的,不支持汉字#include #include #include #include int Compute(int,int,int); void Print(int); int Compute(int a,int b,int op) { int x,y; scanf("%d",&y); if(op==0) { x=a+b; } else if(op==1) { x=a-b; } else if(op==2) { x=a*b; } else if(...

磴口县18059142281: 这是C语言题目,大家谁会的说下:随机产生10个数,输出这10个数并计算其中大于10的偶数的和. -
舒行脱氧: #include <stdlib.h> main() {int a[10],i; /*定义数组存放10个数*/int b;for(i=0;i<100;i++)a[i]=random(100); /*产生100以内的数*/for(i=0;i<100;i++)printf("%d ",a[i]); /*打印输入*/if(a[i]>10){ if(i%2==0)b+=a[i]; /*如果是偶数,那么偶数累加*/}printf("%d \n",b)getch(); }

磴口县18059142281: c语言编程 随机生成10个乘法算式(第一个乘数两位的整数,第二个乘数为1 - 9之间的整数 -
舒行脱氧: #include <bits/stdc++.h> using namespace std;int main(){srand(time(0));int sco=0;for (int i=1;i<=10;i++){int x=rand()%90+10,y=rand()%9+1,res;while (x*y>100) x=rand()%90+10,y=rand()%9+1;printf("%d*%d=",x,y);scanf("%d",&res);...

磴口县18059142281: C语言编程 任意产生10个两位数的整数,求平均值并统计其中偶数的个数和奇数的个数 最后输出 -
舒行脱氧: 1234567891011121314151617181920212223 #include <stdio.h>#include <stdlib.h>#include <time.h> intmain() { inti, a[10], odd = 0, even = 0, sum = 0; srand((unsigned int)time(NULL)); for(i = 0; i < 10; ++i){ a[i] = rand()%89+10; } for(i = 0; i < 10; ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网