C语言编一个小学生算术题程序,求大神!!

发布网友

我来回答

5个回答

热心网友

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

void menu() {
char sl;
int i,an,a,b,n = 10;
do {
printf("\t************************************************************\n");
printf("\t* 加法(A) 减法(S) 乘法(M) 除法(D) 退出(E) *\n");
printf("\t************************************************************\n");
printf("\n请选择 : ");
fflush(stdin);
scanf("%c",&sl);
srand((unsigned)time(NULL));
switch(sl) {
case 'a' :
case 'A' :
for(i = 0; i < n; ++i) {
do {
a = rand()%100;
b = rand()%100;
}while(a + b >= 100);
do {
printf("%d+%d=",a,b);
scanf("%d",&an);
}while(an != a + b);
}
break;
case 's' :
case 'S' :
for(i = 0; i < n; ++i) {
do {
a = rand()%100;
b = rand()%100;
}while(a - b < 0);
do {
printf("%d-%d=",a,b);
scanf("%d",&an);
}while(an != a - b);
}
break;
case 'm' :
case 'M' :
for(i = 0; i < n; ++i) {
do {
a = rand()%100;
b = rand()%100;
}while(a * b >= 100);
do {
printf("%d×%d=",a,b);
scanf("%d",&an);
}while(an != a * b);
}
break;
case 'd' :
case 'D' :
for(i = 0; i < n; ++i) {
do {
a = rand()%100;
b = rand()%100;
}while((a < b) || !b || (a % b));
do {
printf("%d÷%d=",a,b);
scanf("%d",&an);
}while(an != a / b);
}
break;
case 'e' :
case 'E' : break;
}
}while(sl != 'e' && sl != 'E');
}

int main() {
char s[20],password[] = "12345";
do {
printf("请输入密码(Ctrl + C 退出) : ");
gets(s);
}while(strcmp(s,password));
menu();
return 0;
}

热心网友

#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#include "string.h"
int fun(int a,int b)
{
if(b>1)
{
if(a%b!=0)
return fun(b,a%b);
else
return b;
}
else
return b;
}
int main()
{
int d[2],result,t;
char ch,rdiv[10],temp[10],password[15];
printf("请输入密码:");
scanf("%s",password);
if(strcmp(password,"12345")!=0)
return 0;
getchar();
srand(time(NULL));
do
{
system("cls");
printf("===================================================================\n");
printf(" 加法(A) 减法(S) 乘法(M) 除法(D) 退出(E)\n");
printf("===================================================================\n\n\n");
printf("输入选择(A,S,M,D,E):");
scanf("%c",&ch);
printf("\n\n\n");
if(ch=='a' || ch=='A')
{
d[0]=(double)rand()/((double)(RAND_MAX)+1)*100;
do
{
d[1]=(double)rand()/((double)(RAND_MAX)+1)*100;
}while(d[0]+d[1]>100);
printf("题目: %d + %d =",d[0],d[1]);
do
{
scanf("%d",&result);
}while(result!=d[0]+d[1]);
}
else if(ch=='s' || ch=='S')
{
d[0]=(double)rand()/((double)(RAND_MAX)+1)*100;
d[1]=(double)rand()/((double)(RAND_MAX)+1)*100;
if(d[0]<d[1])
{
t=d[0];d[0]=d[1];d[1]=t;
}
printf("题目: %d - %d =",d[0],d[1]);
do
{
scanf("%d",&result);
}while(result!=d[0]-d[1]);
}
else if(ch=='m' || ch=='M')
{
do
{
d[0]=(double)rand()/((double)(RAND_MAX)+1)*100;
d[1]=(double)rand()/((double)(RAND_MAX)+1)*100;
}while(d[0]*d[1]>100);
printf("题目: %d * %d =",d[0],d[1]);
do
{
scanf("%d",&result);
}while(result!=d[0]*d[1]);
}
else if(ch=='d' || ch=='D')
{
do
{
d[0]=(double)rand()/((double)(RAND_MAX)+1)*100;
d[1]=(double)rand()/((double)(RAND_MAX)+1)*100;
}while(d[1]==0);
printf("题目(约分后写成真分数或假分数形式):%d / %d =",d[0],d[1]);
do
{
scanf("%s",rdiv);
result=fun(d[0],d[1]);
strcpy(temp,"");
sprintf(temp,"%d/%d",d[0]/result,d[1]/result);
}while(strcmp(rdiv,temp)!=0);
}
else if(ch!='e' || ch!='E')
break;
getchar();
}while(ch!='e' ||ch!='E');
}

热心网友

上网找一个C语言学生管理系统的代码,这个程序有大部分是链表操作,然后里面选择功能不会很难,主要题目如果是随机出现的可能能费劲点,直接给代码就没趣了

热心网友

够 无聊 的

VB 简单些来自:求助得到的回答

热心网友

题目是随即产生吗?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com