#include<stdioh>
#include<stdlibh>
#include<timeh>
void main()
{
int a,b,i,op,r,c=0;//c表示答对题目数,r记录回答结果
int n,s;
printf("您希望出多少道题目\n");
scanf("%d",&n);
s=n;
while(n--)
{
srand(time(0));
a = rand() % 10 + 1;
b = rand() % 10 + 1;
op = rand() % 4;
switch (op){
case 0:
printf("%d + %d = ",a,b);
scanf("%d",&r);
if(a+b==r)c++;
break;
case 1:
if(a<b){r=a;a=b;b=r;};//处理了一下避免负数结果的产生
printf("%d - %d = ",a,b);
scanf("%d",&r);
if(a-b==r)c++;
break;
case 2:
printf("%d %d = ",a,b);
scanf("%d",&r);
if(ab==r)c++;
break;
case 3:
printf("%d / %d = ",b(a/b),b);//处理了一下避免有余数的情况:)
scanf("%d",&r);
if(b(a/b)==r)c++;
break;
default:
break;
}
}
printf("答对%d题目,错误%d题目\n",c,s-c);
}
1L的哥们竟然没有分数也没有读写文件记录,我在他的基础上加了这个功能,采纳谁都可以哦~
#include <stdioh>
#include <ctypeh>
#include <timeh>
#include <stdlibh>
#include <windowsh>
#define IDNO_LENGTH 6
#define CALC_KIND 4
#define CALC_NUM 10
bool checkNo(char idNo[]);
char getSignal();
int getResult(int,int,char);
void takeTest();
//main函数
void main()
{
printf("Please input your four digit ID no(begin with two letters):");
char idNo[IDNO_LENGTH];
do
{
scanf("%s",&idNo);
fflush(stdin);
} while(checkNo(idNo)==false);
printf("1Start a test\t2Check score\t3Exitb\n");
int choose;
do
{
printf("选择:");
scanf("%d",&choose);
fflush(stdin);
} while(choose!=1 && choose!=2&& choose!=3);
if(choose==1)
{
takeTest();
}else if(choose==2)
{
FILE fp;
char ch;
if((fp=fopen("scoretxt","rt+"))==NULL)
{
printf("\n你还没做过题目测试");
getch();
exit(1);
}
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
else
{
exit(0);
}
}
//获取随机运算符
char getSignal()
{
char signal[CALC_KIND]={'+','-','','/'};
srand((unsigned)time(NULL));
return signal[rand()%4];
}
//获取随机数
int random(double start, double end)
{
return (int)(start+(end-start)rand()/(RAND_MAX+ 10));
}
//运算
int getResult(int num1,int num2,char signal)
{
int res;
switch(signal)
{
case '+':
res=num1+num2;break;
case '-':
res=num1-num2;break;
case '':
res=num1num2;break;
case '/':
res=num1/num2;break;
default:
res=0;
printf("运算符不符合规则\n");
}
return res;
}
//列出10道题
void takeTest()
{
printf("开始答题,每道题10分,总共100分\n");
clock_t startTime;
startTime=clock();
int index;
int giveRes;
int num1;
int num2;
int score=0;
char signal;
for(index=0;index<CALC_NUM;index++)
{
srand((unsigned)time(NULL));
signal=getSignal();
num1=random(0,100);
num2=random(1,100);
printf("%d%c%d=",num1,signal,num2);
scanf("%d",&giveRes);
fflush(stdin);
if(getResult(num1,num2,signal)==giveRes)
{
printf("correct\n");
score+=10;
}
else
{
printf("wrong\n");
}
}
FILE fp=fopen("scoretxt","w");
fprintf(fp,"分数为%d",score);
fclose(fp);
printf("解10道题用了%lf秒\n",(double)(clock()- startTime)/CLOCKS_PER_SEC);
}
//检测idNo是否合规则,合规则返回true
bool checkNo(char idNo[])
{
int index;
bool flag;
flag=true;
for(index=0;index<IDNO_LENGTH;index++)
{
if(index<2)
{
if(!isalpha(idNo[index]))
{
flag=false;
printf("ID no 不符合规则,重新输入:");
break;
}
}
else
{
if(!isdigit(idNo[index]))
{
flag=false;
printf("ID no 不符合规则,重新输入:");
break;
}
}
}
return flag;
}
(1)(-2)×(
=(4-
=
=-
(2)小刚输入的数据可能是a=b. 因为a-b=0, 所以运算程序中除数为0,无意义. |
这个程序可以使用循环结构和条件语句来实现。首先,程序需要从用户输入一个三位数,可以使用Python语言的input函数实现。接下来,程序需要将该数字分解出各个数位的数字,并计算它们的立方和。可以用整除和取余的方法分别获得百位、十位和个位数字,然后将它们的立方相加。最后,使用条件语句判断计算得到的立方和是否等于该数字,若相等则输出“是”否则输出“否”。
下面是Python实现该程序的示例代码:
num = int(input("请输入一个三位数:"))
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit 3
temp //= 10
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
以上就是关于用C语言编简单的数学计算 程序,,1、 要求输入题目数 2、随机选择+,-,*,/运算 3、 统计正确和错误的总和全部的内容,包括:用C语言编简单的数学计算 程序,,1、 要求输入题目数 2、随机选择+,-,*,/运算 3、 统计正确和错误的总和、C语言,设计一个程序帮助小学生练习数学。、小明在电脑上设计了一个有理数的运算程序,输入a,加*键,再输入b,得到运算a*b=(a 2 -b 2 )÷(a-b)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)