用C语言编简单的数学计算 程序,,1、 要求输入题目数 2、随机选择+,-,*,运算 3、 统计正确和错误的总和

用C语言编简单的数学计算 程序,,1、 要求输入题目数 2、随机选择+,-,*,运算 3、 统计正确和错误的总和,第1张

#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)×(
1
2
)=[(-2) 2 -(
1
2
) 2 ]÷[(-2)-
1
2
]

=(4-

1
4
)÷(-2-
1
2

=

15
4
×(-
2
5

=-

3
2

(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)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10167599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存