当前位置:首页 » 编程语言 » c语言小学生辅助
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言小学生辅助

发布时间: 2022-08-10 22:35:45

⑴ 小学生辅助考试系统(100以内加减乘除) c语言编程

if(i>=0){
fraction = getInt(new StringBuffer(num).reverse().toString());
if(fraction.equals("0")){
return "";
}

⑵ C语言,设计一个程序帮助小学生练习数学。

1L的哥们竟然没有分数也没有读写文件记录,我在他的基础上加了这个功能,采纳谁都可以哦~
#include <stdio.h>
#include <ctype.h>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
#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("1.Start a test\t2.Check score\t3.Exitb\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("score.txt","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+ 1.0));
}

//运算
int getResult(int num1,int num2,char signal)
{
int res;
switch(signal)
{
case '+':
res=num1+num2;break;
case '-':
res=num1-num2;break;
case '*':
res=num1*num2;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("score.txt","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;
}

⑶ c语言小学生数学CAI系统

#include
#include
#include
#include
#define MaxQSize 80

float qlist[MaxQSize],qlist1[MaxQSize],qlist2[MaxQSize]; //定义三个全局队列
int front=0,rear=0,front1=0,front2=0,rear1=0,rear2=0,count=0,count1=0,count2=0;//定义三个队列头结点、尾结点、数据个数
main()
{
char c[80];
void Enter(float),pop(),ClearStack();
printf("input string:(n:sin,o:cos,s:sqrt)\n");
while(gets(c),*c!='q' ||*c!='Q')
{
switch(*c)
{
case '+':
case '*':
case 's':
case 'n': //求SIN
case 'o': //求COS
case '/': //将符号入第一个队列
{
if(count==MaxQSize)
{
printf("Quere overflow!");
exit(1);
}
count++;
qlist[rear]=*c;
rear=(rear+1)%MaxQSize;
break;}
case '-':
{
if(strlen(c)>1) //如果是负号,则将负号和数一起入第二个队列
Enter(atof(c));
else //否则,说明是减号,入第一队列
if(count==MaxQSize)
{
printf("Quere overflow!");
exit(1);
}
count++;
qlist[rear]=*c;
rear=(rear+1)%MaxQSize;
break;}
case '=':
pop(); //显示结果
break;
case 'c':
ClearStack();
break;
case 'q':
ClearStack();
exit(1);
default:
Enter(atof(c));
break;
}
}
return 0;
}

void Enter(float num) //将数据入第二个队列
{
if(count1==MaxQSize)
{
printf("Queue overflow!\n");
exit(1);
}
count1++;
qlist1[rear1]=num;
rear1=(rear1+1)%MaxQSize;

}

void ClearStack() //将三个队列清空
{
count=0;
count1=0;
)%MaxQSize;
QInsert(number);
}
break;

case '-':
if(count2==0)
{
num2=QFront1();
number=num1-num2;
printf("number=%f\n",number);
QInsert(number);
}
else
{
number=qlist2[front2]-num1;
printf("number=%f\n",number);
front2=(front2+1)%MaxQSize;
QInsert(number);
}
break;

⑷ c语言 计算机辅助教育:帮助小学生学习加法,用rand函数产生一对1位数的整数,如下形

#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main()
{
srand(time(0));
int a= rand()%10;
int b=rand()%10;
cout<<a<<b;
return 0;
}
不过这样产生的数字式0~9

⑸ C语言编程,小白求教,关于小学生计算辅助教学系统的改善

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main (void)
{
int a,b,c,d,counter1=0;
float counter;

srand(time(NULL));
do{
counter=0; //这里改了
for(counter1=0;counter1<10;counter1++)
{
a=1+rand()%(10);
b=1+rand()%(10);
c=1+rand()%(4);
switch(c)
{

case 1:
printf ("%d X %d = ?",a,b);
scanf("%d",&d);
if(d==a*b)
{
printf("Right!\n");
counter++;
}
else
printf("Wrong!\n");
break;

case 2:
printf ("%d + %d = ?",a,b);
scanf("%d",&d);
if(d==a+b)
{
printf("Right!\n");
counter++;
}
else
printf("Wrong!\n");
break;

case 3:
printf ("%d - %d = ?",a,b);
scanf("%d",&d);
if(d==a-b)
{
printf("Right!\n");
counter++;
}
else
printf("wrong!\n");
break;

case 4:
printf ("%d / %d = ?",b*(a/b),b);
scanf("%d",&d);
if(d==(a/b)) //这里改了
{
printf("Right!\n");
counter++;
}
else
printf("Wrong!\n");
break;
}
}
printf("Your score is %f,and your correcting rate is %f %% \n",counter,100*counter/(10.0) );
if(counter<=7)
printf("You shoud do it again.\n");
system("pause");
}while(counter<=7);

}

⑹ c语言程序设计(1) 小学生计算机辅助教学系统

right_prompt()
{
intx;

x=rand()%4+1;
switch(x){
case1:
printf("VeryGood! ");
break;
case2:
printf("Excellent! ");
break;
case3:
printf("Nicework! ");
break;
case4:
printf("Keepupthegoodwork! ");
break
}
}

wrong_prompt()
{
intx;

x=rand()%4+1;
switch(x){
case1:
printf("No.Pleasetryagain. ");
break;
case2:
printf("Wrong.Tryoncemore. ");
break;
case3:
printf("Don’tgiveup! ");
break;
case4:
printf("Notcorrect.Keeptrying. ");
break;
}
}

⑺ C语言编程:小学生数学辅助学习系统

题目是可以做的,不过现在没有时间,我们要做数据库课程设计,马上要考试了!

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

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

intcal(int);
voidgen(int,int&,int&,int&);

intmain(void)
{
intm;//使用数字位数,当m=4,程序退出
srand((int)time(0));
printf(" 请选择下面的一个项目: ");
printf(" 1...........................一位数 ");
printf(" 2...........................两位数 ");
printf(" 3...........................三位数 ");
printf(" 4...........................退出 ");
do{
scanf("%d",&m);
switch(m){
case1:
case2:
case3:
cal(m);break;
case4:
break;
default:
printf("输入错误,请重新输入:");
}
}while(m!=4);
return0;
}

intcal(intm){
//m:数字位数
intnum1,num2,smb;
inti,k;
intsum,res;
intu_sum,u_res;
intwrite;
boolT;
intscore;
intfen[]={10,8,6};
//num1:第一操作数
//num2:第二操作数
//smb:操作符,有:+,-,*,/,%五种(1-5)
//sum表示加法操作的和,减法操作的差,乘法操作的积以及除法操作的商。
//res表示除法操作的余数,以及取余操作的余数。
//write:正确答案数目
//T:答对题
//score:总分
write=0;
score=0;
for(i=0;i<10;i++){
gen(m,num1,num2,smb);//生成操作数和相应的操作符
switch(smb){//生成正确答案
case1://加法
sum=num1+num2;break;
case2://减法
sum=num1-num2;break;
case3://乘法
sum=num1*num2;break;
case4://除法
sum=num1/num2;
res=num1%num2;
break;
case5://取余
res=num1%num2;
}
for(k=0;k<3;k++){
switch(smb){
case1://加法
printf("%d+%d=",num1,num2);
scanf("%d",&u_sum);
if(sum==u_sum){
write=write+1;
T=true;
}else{
T=false;
}
break;
case2://减法
printf("%d-%d=",num1,num2);
scanf("%d",&u_sum);
if(sum==u_sum){
write=write+1;
T=true;
}else{
T=false;
}
break;
case3://乘法
printf("%d*%d=",num1,num2);
scanf("%d",&u_sum);
if(sum==u_sum){
write=write+1;
T=true;
}else{
T=false;
}
break;
case4://除法
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;
case5://取余
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){
case0:
printf("完全正确,你非常聪明!加%2d分 ",fen[k]);break;
case1:
printf("答对了,你很棒!加%2d分 ",fen[k]);break;
case2:
printf("答对了,祝贺你!加%2d分 ",fen[k]);break;
}
break;
}elseif(k==2){
printf("非常遗憾你又答错了,请继续做下一题。本题的正确答案为");
switch(smb){
case1:
case2:
case3:
printf("%d ",sum);break;
case4:
printf("%d,%d ",sum,res);break;
case5:
printf("%d ",res);break;
}
}else{
printf("你答错了,继续努力! ");
}
}
}
printf("你本次练习的总分为%d ",score);
return0;
}

voidgen(intm,int&num1,int&num2,int&smb){
intmin[]={0,10,100};
intmax[]={9,99,999};
inttemp;
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];
}
}

⑼ 求大神用C语言设计一个程序帮助小学生练习数学。(具体要求见问题补充)

你自己修改修改:
#include <stdio.h>
#include <ctype.h>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
#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("1.Start a test\t2.Exitb\n");
int choose;
do
{
printf("选择:");
scanf("%d",&choose);
fflush(stdin);
} while(choose!=1 && choose!=2);

if(choose==1)
takeTest();
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+ 1.0));
}

//运算
int getResult(int num1,int num2,char signal)
{
int res;
switch(signal)
{
case '+':
res=num1+num2;break;
case '-':
res=num1-num2;break;
case '*':
res=num1*num2;break;
case '/':
res=num1/num2;break;
default:
res=0;
printf("运算符不符合规则\n");
}
return res;
}

//列出10道题
void takeTest()
{
clock_t startTime;
startTime=clock();
int index;
int giveRes;
int num1;
int num2;
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");
}
else
{
printf("wrong\n");
}
}

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;
}

⑽ c语言编程作业小学生计算机辅助教学系统

#include<stdio.h>
#include<stdlib.h>
#ifndefRedContritio
#include<string.h>
#else
#message("ThisisRedContritio'senergy")
#endif
#include<time.h>//用到了time函数
intjia(inta,intb){
returna+b;
}
charsolutation[999]="";
intjian(inta,intb){
returna-b;
}

intcheng(inta,intb){
returna*b;
}

floatchu(inta,intb){
return1.0*a/b;
}
intsolve(inta,intb,intc){
if(c==1)returnjia(a,b);
if(c==2)returnjian(a,b);
if(c==3)returncheng(a,b);
if(c==4)return(int)chu(a,b);
}
intmain(){
inta,b,c,answer;
charcmd;
srand(time(NULL));//用时间做种,每次产生随机数不一样

printf("entertostart,-1toquit:");
while((cmd=getchar())!='-'){
a=rand()%10+1;//产生1-10的随机数
b=rand()%10+1;
c=rand()%4+1;
answer=solve(a,b,c);
charys;
switch(c){
case1:
ys='+';
break;
case2:
ys='-';
break;
case3:
ys='*';
break;
case4:
ys='/';
break;
}

printf("%d%c%d=? ",a,ys,b);

intr=0,solution;
while(!r){
printf("pleaseinputyouranswer. ");
memset(solutation,0,sizeof(solutation));
scanf("%s",solutation);
solution=atoi(solutation);
if(!(solution-answer)){//除法出现小数这里是向下取整,不是四舍五入
puts("Right!");
r=1;
}elseputs("Wrong!Pleasetryagain.");
}

printf("continue?(-1toquit):");
getchar();//处理缓冲区的多余回车
}
return0;
}

望采纳,多余的printf是为了增强交互性,不需要可删掉。另除法不是很完善,自己可规定小数精度,对代码进行修改。