用C语言设计一个儿童四则运算程序,根据用户的设定自动出题并对全部回答进行判断,全部答完后统计正确率

用C语言设计一个儿童四则运算程序,根据用户的设定自动出题并对全部回答进行判断,全部答完后统计正确率,第1张

B,D肯定是对的

C要是改为char s = "ABCDE";

就是正确的但是原来的题目是char s; s="ABCDE";

s是字符型指针变量只能存字符型变量的地址,也就是说你只能把地址或者是同一类型的指针变量赋给s,因此上面C的说法显然是错的,

A显然是错的要是楼主还是不明白的话那就要去看看书了,这个是很基础的问题

#include<stdioh>

#include<mathh>

void main()

{

float a,b,c,s,area;

//输入三条边

printf("please input a,b,c\n");

scanf("%f%f%f",&a,&b,&c);

if(a+b>c&&b+c>a&&c+a>b)//判断能否构成三角形

{

s=(a+b+c)/2;

area=(float)sqrt(s(s-a)(s-b)(s-c));

printf("area=%f\n",area);

if(a==b&&a==c&&b==c)

printf("equilateral tring\n");

else if(a==b||a==c||b==c)

printf("isosceles tring\n");

else if((aa+bb==cc)||(aa+cc==bb)||(bb+cc==aa))

printf("right -angled tring\n");

}

else

printf("not tring\n");

}

/程序功能:一开始程序自动进入第一轮运算测试,通过按“p”“m”“t”“d”而选择加、减、乘、除运算,再每做完一道题

时按回车继续该运算,按“p”“m”“t”“d”进行相应运算切换,其间可按“s”退出该轮测试;

若按了“s”则选择是否进行下一轮,按分别按“y”“n”表示是或不是。/

# include <stdioh>

# include <timeh>

# include <stdlibh>

void main()

{int p[2]={0},m[2]={0},t[2]={0},d[2]={0},i=0,j=0,k=0;//数组分别存放每轮做相应运算的总数和正答个数;k、j分别记所做轮数和每轮所做的题数

char c,exit='y';

void pluss(int p);

void minus(int m);

void times(int t);

void division(intt);

void test(intp,intm,intt,intd);

while(exit!='n'){ //输出提示语

printf("\n 按 \"p\"--->\"+\"运算; 按 \"m\"--->\"-\"运算;\n 按 \"t\"--->\"\"运算; 按 \"d\"--->\"/\"运算;");

printf(" 按 \"s\"--->\"退出该轮测试\"\n 做完每道题后您可按回车键继续该运算或切换到别的运算");

printf("\n\n欢迎进入第%d轮测试 请选择运算 ",++k);

c=getchar();

if(k!=1)c=getchar();//选择运算

while(c!='s'){

while(c=='p'||(c!='s'&&c!='m'&&c!='t'&&c!='d')){printf("第%d道 ",++j);pluss(p);c=getchar();c=getchar();}

while(c=='m'||(c!='s'&&c!='p'&&c!='t'&&c!='d')){printf("第%d道 ",++j);minus(m);c=getchar();c=getchar();}

while(c=='t'||(c!='s'&&c!='m'&&c!='p'&&c!='d')){printf("第%d道 ",++j);times(t);c=getchar();c=getchar();}

while(c=='d'||(c!='s'&&c!='m'&&c!='t'&&c!='p')){printf("第%d道 ",++j);division(d);c=getchar();c=getchar();}

}

test(p,m,t,d); //按s后退出一轮测试,调用函数给出测试结果

printf("\n 按 \"y\"---> \"进入第%d轮\" 按 \"n\"---> \"退出程序\" ",k+1);

exit=getchar();exit=getchar();

if(exit!='n'){ //按s后选则是否进入下一轮

j=0;

for(i=0;i<2;i++)p[i]=m[i]=t[i]=d[i]=0;

}

}

printf("\n\n Bye-Bye\n\n");

}

void pluss(int p){

int y,x,sum;

srand (time(NULL));

x=(int)rand()%10+1;

y=(int)rand()%10+1;

printf("%d+%d=",x,y);

scanf("%d",&sum);

p[0]++;

if(sum==x+y){printf("Congratuations! ");p[1]++;}

else printf("Sorry! Right answer is %d ",x+y);}

void minus(int m){

int y,x,minus;

srand (time(NULL));

x=(int)rand()%10+1;

y=(int)rand()%10+1;

m[0]++;

printf("%d-%d=",x+y,y);

scanf("%d",&minus);

if(minus==x){printf("Congratulations! ");m[1]++;}

else printf("Sorry! Right answer is %d ",x);

}

void times(int t){

int y,x,tim;

srand (time(NULL));

x=(int)rand()%10+1;

y=(int)rand()%10+1;

printf("%d%d=",x,y);

scanf("%d",&tim);

t[0]++;

if(tim==xy){printf("Congratulations! ");t[1]++;}

else printf("Sorry! Right answer is %d ",xy);

}

void division(int d){

int y,x,div;

srand (time(NULL));

x=(int)rand()%10+1;

y=(int)rand()%10+1;

printf("%d/%d=",xy,y);

scanf("%d",&div);

d[0]++;

if(div==x){printf("Congratulations! ");d[1]++;}

else printf("Sorry! Right answer is %d ",x);

}

void test(int p,intm,intt,intd){

int s[2];

float rate;

s[0]=p[0]+m[0]+t[0]+d[0];

s[1]=p[1]+m[1]+t[1]+d[1];

rate=s[1]/(s[0]10);

if(rate>08)printf("\nYou have done a good job !\n\n");

else if(rate<06)printf("\nYou have done a bad job !\n\n");

else printf("\nCome on! You can do it better !\n\n");

if(s[0]!=0)

printf("total done:%d right:%d rate:%52f%c\n",s[0],s[1],rate100,'%');

else printf("total done:0 right:0\n");

if(p[0]!=0)

printf("\"+\" done:%d right:%d rate:%52f%c ",p[0],p[1],(p[1]/(p[0]10))100,'%');

else printf("\"+\" done:%d right:%d ",p[0],p[1]);

if(m[0]!=0)

printf("\"-\" done:%d right:%d rate:%52f%c\n",m[0],m[1],(m[1]/(m[0]10))100,'%');

else printf("\"-\" done:%d right:%d\n",m[0],m[1]);

if(t[0]!=0)

printf("\"\" done:%d right:%d rate:%52f%c ",t[0],t[1],(t[1]/(t[0]10))100,'%');

else printf("\"\" done:%d right:%d ",t[0],t[1]);

if(d[0]!=0)

printf("\"/\" done:%d right:%d rate:%52f%c\n",d[0],d[1],(d[1]/(d[0]10))100,'%');

else printf("\"/\" done:%d right:%d\n",d[0],d[1]);

}

找过来的,运行下看看是否可行。

以上就是关于c 语言中的问题全部的内容,包括:c 语言中的问题、用c语言输入三角形的3边,判断能否组成三角形,若能,则输出它的类型(锐角、钝角、直角)和三角形的面积、用C语言设计一个儿童四则运算程序,根据用户的设定自动出题并对全部回答进行判断,全部答完后统计正确率等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/langs/8811976.html

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

发表评论

登录后才能评论

评论列表(0条)

保存