}
如果思路比较混乱,建议先分解成几块,封装不同函数中
例如 怎么把系统生成的文件名称拷贝到filename中
怎么写入相应信息 。
C语言题目加到200分吧 , 我来写.
看下结果图 。
没有给出混合运算的代码 , 原理一样,只是逻辑繁些 。你可自己试着添加看 。
我己写出那几个函数了,你可使用下看.
只能用TC编译,因其中有几个函数VC 不支持 。没TC 的话可去我们论坛下个WINTC,适合初学者,可以直接在WINDOWS 界面运行编译 。
Study Program -- 学习编程专题站 C语言版块
刚刚得了270分了,如不是同一个楼主我想我这也是好的 。
#include stdio.h
#include math.h
#include time.h
#include stdlib.h
#define MAX 100
#define N 10
struct math {
int a;
char o;
int b;
int mr;
int rr;
};
typedef struct math MATH;
int menu1(){
char c;
printf("\n\n 1.Practice\n");
printf("\n 2.Test\n");
printf("\n ESC exit\n");
printf("\nEnter choice: ");
c=getch();
if(c!=27)
printf("%c",c);
else
printf("ESC");
printf("\n\n");
return c;
}
int menu2(){
char c;
printf("\n\n 1.A+B\n");
printf("\n 2.A-B\n");
printf("\n 3.A*B\n");
printf("\n 4.A/B\n");
printf("\n 5.A*B+C-D/E\n");
printf("\n ESC return\n");
printf("\nEnter choice: ");
c=getch();
if(c!=27)
printf("%c",c);
else
printf("ESC");
printf("\n\n");
return c;
}
void get_ti(MATH *ti,int flag){
int tem;
switch(flag){
case '1':
ti-o='+';
while(1){
ti-a=rand()%51;
ti-b=rand()%51;
if(ti-a!=ti-b)
break;
}
break;
case '2':
ti-o='-';
while(1){
ti-a=rand()%101;
ti-b=rand()%101;
if(ti-a!=ti-b)
break;
}
if(ti-ati-b){
tem=ti-a;
ti-a=ti-b;
ti-b=tem;
}
break;
case '3':
ti-o='*';
ti-a=rand()%51+1;
if(ti-a==51)
ti-a=100;
ti-b=100/(ti-a);
break;
case '4':
ti-o='/';
while(1){
ti-a=rand()%100+1;
ti-b=rand()%100+1;
if(ti-a!=ti-b){
if(ti-ati-b){
tem=ti-a;
ti-a=ti-b;
ti-b=tem;
}
if(ti-a%ti-b==0)
break;
}
}
break;
}
}
int getans(char *ans){
int i=0;
char c;
while(1){
c=getch();
if(c=48c=57){
ans[i]=c;
printf("%c",ans[i]);
i++;
continue;
}
if(c==27)
return 1;
if(c=='\b'){
if(i0)
printf("%c%c%c",'\b',' ','\b');
i--;
}
if(c=='\r')
break;
}
ans[i]='\0';
return 0;
}
main(){
int m1,m2,r,mr,i,j,k,rnum,wnum,tinum,flag,flag1;
MATH ti,test_ti[N];
float rate;
char ans[5];
randomize();
while(1){ /*1*/
m1=menu1();
switch (m1){ /*1*/
/*****************************/
case '1':
tinum=0;
rnum=0;
wnum=0;
flag=0;
/*-------------------------*/
while(1){
flag1=0;
m2=menu2();
/*aaaaaaaaaaaaaaaaaaaaaaaaaaaa*/
switch (m2){
case '1':
for(j=0;j5;j++){
get_ti(ti,'1');
tinum++;
r=ti.a+ti.b;
for(i=1;i4;i++){
if(i==1)
printf("\n(%d)%d. %2d%c%2d=",j+1,i,ti.a,'+',ti.b);
else
printf("\n%4d. %2d%c%2d=",i,ti.a,'+',ti.b);
if(getans(ans)){
flag1=1;
break;
}
mr=atoi(ans);
if(r==mr)
break ;
else
printf(" %c\n",'X');
}
if(flag1){
printf("\n\nRight Ans: %2d%c%2d=%3d",ti.a,'+',ti.b,r);
tinum--;
推荐阅读
- 系统u盘打不开怎么办,系统u盘不能启动
- u盘文件要怎么倒入,怎么将u盘上的文件传到电脑
- erp系统怎么自学教程图片,自学erp系统软件操作
- 钉钉直播怎么进手机端看,手机钉钉直播怎么看视频
- mysql怎么实现循环 mysql 循环语句
- 火山直播封禁什么意思,火山直播被管理员禁言了怎么办
- mongodb取第一条数据,mongodb查询某个字段数据
- css无序列表怎么居中,css无序列表样式
- 手机模拟java写代码 手机怎么编程java代码