请用c语言编写下列程序 6、小学数学辅助教学系统 设计内容:利用该系统可以锻炼小学生的数学运算能

请用c语言编写下列程序 6、小学数学辅助教学系统 设计内容:利用该系统可以锻炼小学生的数学运算能,第1张

#include <stdio.h>

#include<stdlib.h>

#include<time.h> 

int cal(int)

void gen(int,int&,int&,int&)

int main(void)

{

int m    //使用数字位数,当m=4,程序退出

srand((int)time(0)) 

printf("\t\t请选择下面的一个宴如项目:\n\n")

printf("\t\t1...........................一位数\n")

printf("\t\t2...........................两位数\n")

printf("\t\t3...........................三位数\n")

printf("\t\t4...........................退出\n")

do{

scanf("%d",&m)

switch(m){

case 1:

case 2:

case 3:

cal(m)break

case 4:

break

default:

printf("输入错误,请重新输入:")

}

}while(m!=4)

return 0

}

int cal(int m){

// m:数字位数

int num1,num2,smb

int i,k

int sum,res

int u_sum,u_res

int write

bool T

int score

int fen[]={10,8,6}

//num1:第一 *** 作

//num2:第二 *** 作数

//smb: *** 作符,有:+,-,*,/,% 五种(1-5)

//sum 表示加法 *** 作的和,减法 *** 作的差,乘法 *** 作的积以及除法 *** 作的商。

//res 表示除法 *** 作的余数,以及取余 *** 作的余数。

//write:正确答案数目

//T:答对题

//score:总分

write=0

score=0

for(i=0i<10i++){

gen(m,num1,num2,smb)  //生晌梁启成 *** 作数和相应的 *** 作符

switch(smb){           //生成正确答案

case 1: //加法

sum=num1+num2break

case 2: //减法

sum=num1-num2break

case 3: //乘法

sum=num1*num2break

case 4: //除法

sum=num1/num2

res=num1%num2

break

case 5: //取余

res=num1%num2

for(k=0k<3k++){

switch(smb){

case 1: //加法

printf("%d+%d=",num1,num2)

scanf("%d",&u_sum)

if(sum==u_sum){

write=write+1

T=true

}else{

T=false

}

break

case 2: //减法

printf("%d-%d=",num1,num2)

scanf("%d",&u_sum)

if(sum==u_sum){

write=write+1

T=true

}else{

T=false

}

break

case 3: //乘法

printf("%d*%d=",num1,num2)

scanf("渣好%d",&u_sum)

if(sum==u_sum){

write=write+1

T=true

}else{

T=false

}

break

case 4: //除法

printf("%d/%d=商,余数",num1,num2)

scanf("%d,%d",&u_sum,&u_res)

if(sum==u_sum&&res==u_res){

write=write+1

T=true

}else{

T=false

}

break

case 5: //取余

printf("%d%%%d=",num1,num2)

scanf("%d",&u_res)

if(res==u_res){

write=write+1

T=true

}else{

T=false

}

break

default:

}

if(T){

score=score+fen[k]

switch(k){

case 0:

printf("完全正确,你非常聪明!加%2d分\n",fen[k])break

case 1:

printf("答对了,你很棒!加%2d分\n",fen[k])break

case 2:

printf("答对了,祝贺你!加%2d分\n",fen[k])break

}

break

}else if(k==2){

printf("非常遗憾你又答错了,请继续做下一题。本题的正确答案为")

switch(smb){

case 1:

case 2:

case 3:

printf("%d\n",sum)break

case 4:

printf("%d,%d\n",sum,res)break

case 5:

printf("%d\n",res)break

}

}else{

printf("你答错了,继续努力!\n")

}

}

}

printf("你本次练习的总分为%d\n",score)

return 0

}

void gen(int m,int &num1,int &num2,int &smb){

int min[]={0,10,100}

int max[]={9,99,999}

int temp

m=m-1

smb=rand()%(m+3)+1

num1=rand()%(max[m]-min[m]+1)+min[m]

num2=rand()%(max[m]-min[m]+1)+min[m]

if(num1<num2&&smb==2){

temp=num1

num1=num2

num2=temp

}

while(num2==0&&smb>3){

num2=rand()%(max[m]-min[m]+1)+min[m]

}

}

楼主胡如巧你好。

#include <stdio.h>

int main( )

{

int i

FILE* fp

if((fp=fopen("output.txt","w+"))==NULL){

printf("Create output.txt failed!\n")

return 1

}

for(i=0i<=100i++){

fprintf(fp,"single single%d\n",i)

fprintf(fp,"(\n.clk(clk),\n")

fprintf(fp,".rst_n(rst_n),\n")

fprintf(fp,".step(error_max_in%d),\n",i)

fprintf(fp,".outdata(sel_in%d)\n)\n",i)

}

return 0

}

以上代码会在你的工程文件夹中创建橡脊一个output.txt,其中的内容应该符合你的要求。裤键


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

原文地址: http://outofmemory.cn/yw/12559081.html

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

发表评论

登录后才能评论

评论列表(0条)

保存