#include <time.h>
#include <stdlib.h>
int number_jia(int a,int b)
int number_jian(int a,int b)
int number_cheng(int a,int b)
int number_chu(int a,int b)
int suijishu()
int main()
{
char username[10]//用户名
int que_count//题目数量
int yunsuan=1//接受用户想进行什么运算
int i//循环变量
char yunsuanfu[4]={'+','-','*','/'}//存储运算符
int current_num1=1,current_num2=1//当前进行运算的数字
int input_result//用户输入的结果
int score=0//总分
int (*pfun[4])(int,int)={number_jia,number_jian,number_cheng,number_chu}//函数指针数组
char jixu='y'
while(1)
{
if(tolower(jixu)!='y')
break
printf("输入用户名\n\t")
scanf("%s",username)
printf("输入题目数量\n\t")
scanf("%d",&que_count)
printf("选择运要进行的运算\t1:加法\t2:减法\t3:乘法\t4:除法\n")
scanf("%d",&yunsuan)
yunsuan<=4?yunsuan:1
for(i=0i<que_counti++)
{
current_num1=suijishu()
current_num2=suijishu()
printf("\n%d%c%d=",current_num1,yunsuanfu[yunsuan-1],current_num2)
scanf("%d",&input_result)
if(input_result==(pfun[yunsuan-1])(current_num1,current_num2))
score+=2
}
printf("%s你好你一共得分%d\n",username,score)
printf("是否继续\ty:继续")
scanf(" %c",&jixu)
}
return 0
}
//100内随机数
int suijishu()
{
srand(time(NULL)-1)
return rand()%100
}
//下面是四则运算
int number_jia(int a,int b)
{
return a+b
}
int number_jian(int a,int b)
{
return a-b
}
int number_cheng(int a,int b)
{
return a*b
}
int number_chu(int a,int b)
{
if(b!=0)
return a+b
else
return 0
}
#include <stdio.h>#include <stdlib.h>
#include <conio.h>
#define Number 10
FILE *fp
char name[20],id[9]
char quest[200],ans[20]
int score=0
char ch
char question[20],answer
void regist()
void take_question()
char get_answer()
void main()
{
int question_num
char people_answer,temp
regist()
if((fp=fopen("question.txt","r"))==NULL)
{
printf("打开文件 *** 作失败!")
exit(0)
}
for(question_num=1question_num<=Numberquestion_num++)//10为题目的数量
{
take_question()
while(1)
{
scanf("%c",&people_answer)
fflush(stdin)
if(people_answer>='A'&&people_answer<='D')
break
printf("输入错误,请重新输入(A,B,C,D):")
}
if(people_answer==answer)
score+=10
}
fclose(fp)
if(score>60)
{
printf("%s 先生/女士 :\n",name)
printf(" 祝贺您,您通过了考试,您的分数是:%d",score)
}
else
{
printf("%s 先生/女士 :\n",name)
printf("抱歉!您没有通过考试,您的分数是:%d",score)
}
printf(" 按任意一键结束")
}
void regist()
{
int w=0,k=0
while(w<1)
{
printf("请输入您的姓名")
gets(name)
printf("请输入您的8位准考证号码")
gets(id)
while(1)
{
if(id[k]=='\0'||id[k]>'9'||id[k]<'0') /* 此处不解输入8位数字,仍然编译不能通过。希望能为我解释一下 请问能不能这样转换 if(id[k]=='\0'&&id[k]>='0'&&id[k]<='9') */
break
k++
}
if(k==8&&id[9]=='\0')
break
else
printf("考生考号应是8位数字,您的输入有误,请重新输入")
}
}
//=============================================================================================================
void take_question()
{
int i
char choice_a[20],choice_b[20],choice_c[20],choice_d[20]
fscanf(fp,"%s",question)
for(i=0question[i]!='='i++)
answer=question[i+1]
question[i+1]='\0'
fscanf(fp,"%s%s%s%s",choice_a,choice_b,choice_c,choice_d)
printf("%s\n%s\n%s\n%s\n%s\n",question,choice_a,choice_b,choice_c,choice_d)
printf("请输入你的选择:")
}
//==============================================================================================================
char get_answer()
{
while(1)
{
printf("%s\n 请键入A、B、C、D作为您的选择:",quest)
ch=getch()
if(ch>='A'&&ch<='D'||ch>='a'&&ch<='d')
break
else
printf("您必须在A、B、C、D之间选择一个")
}
return ch
}
question.txt
1.1+1=A
a.2
b.3
c.4
d.5
2.2+2=B
a.2
b.3
c.4
d.5
3.2as+2=B
a.2
b.3
c.4
d.5
4.2+2=B
a.2
b.3
c.4
d.5
5.2+2=B
a.2
b.3
c.4
d.5
6.2+2=B
a.2
b.3
c.4
d.5
7.2+2=B
a.2
b.3
c.4
d.5
8.2+2=B
a.2
b.3
c.4
d.5
9.2+2=B
a.2
b.3
c.4
d.5
10.2+2=B
a.2
b.3
c.4
d.5
修改最多的就是take_question基本上面目全非
大学c语言搜题app。大学c语言搜题app原名叫做菜鸟学C语言是一款非常好用的学习c语言的手机软件
软件功能
1、选择题:按照考点分类的选择题习题,并有答案解析。
2、错题库:可自动加练习过程中错题加入收藏,以便反复练习。
3、上机 *** 作题:300道上机 *** 作题,程序填空题、程序修改题、程序设计题。
软件优势
1、选择题:按照考点分类的选择题习题,并有答案解析。
2、上级 *** 作题:300道上机 *** 作题,程序填空题、程序修改题、程序设计题。
3、最新押题:最新考试押题3套。
4、考点汇总:包含复习的考点。
5、错题库:可自动加练习过程中错题加入收藏,以便反复练习。
6、收藏夹:可在练习过程中自行收录题目到收藏夹,形成自己的小题库,针对性练习,提高通过率。
软件特色
1、随时随地都能够学习,而且还支持下载保存你学习内容离线继续学习。
2、同学们能够直接通过搜索引擎来查询寻找你感兴趣对你内容。
3、解答问题的办法非常多,可以选择通过拍照来答题,也可以选择输入题目来解答。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)