导航:首页 > 小学全识 > 小学生c了

小学生c了

发布时间:2020-11-27 20:00:22

A. 利用c语言设计简单的小学生算术自测系统,求大神编写程序

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUMBER 10/*定义数组项目的个数为一个符号常量*/
int Num1[10]= {0},Num2[10]= {0},Pos1=0,Pos2=0;
/*定义两个数组来保存已经出现的情况*/
int main()
{
int putquestion();/*声明出题函数*/

int questionnum=10;/*声明变量*/
int i=1;
printf("Please input number of question:");
scanf("%d",&questionnum);
int answer[NUMBER];/*声明一个数组,用于储存学生的答案*/
int rightanswer[NUMBER];/*声明一个数组,用于储存正确答案*/

for(i=1; i<=questionnum; i++)
{
rightanswer[i-1]=putquestion();
scanf("%d",&answer[i-1]);
}
for(i=1; i<=NUMBER; i++)
printf("\n%d%5d",answer[i-1],rightanswer[i-1]);
}
bool exist(int goal,int *Num)
{/*检查数字goal是否已经出现在Num数组里面*/
int i;
for(i=0; i<Pos1; i++)
if(goal==Num[i])
return true;
return false;
}
int putquestion()/*此函数用于出题*/
{
int randValue;
int num1;
int num2;
int correctanswer;
srand((int)time(NULL));
randValue=1+rand()%4;
num1=1+rand()%99;
num2=1+rand()%99;
switch(randValue)
{
case 1:/*加法作业*/
while(num1+num2>=100||exist(num1,Num1)&&exist(num2,Num2))
{/*当满足该条件(满足题目要求且两个数同时出现过)时继续循环*/
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d+%d=",num1,num2);
correctanswer=num1+num2;
break;
case 2:/*减法作业*/
while(num1-num2<0||exist(num1,Num1)&&exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d-%d=",num1,num2);
correctanswer=num1-num2;
break;
case 3:/*乘法作业*/
while(num1*num2>=100||exist(num1,Num1)&&exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d*%d=",num1,num2);
correctanswer=num1*num2;
break;
case 4:/*除法作业*/
while(num1%num2!=0||exist(num1,Num1)&&exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d/%d=",num1,num2);
correctanswer=num1/num2;
break;
}
return(correctanswer);
}

B. 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. 小学生考试c是多少分

60-70分
abcde(一般没有e等级)等级的确定是由很多因素决定的,比如说地区、考卷的难度、考生成绩的整体分布情况等等。
但是大多数等级区分如下:
a:100-85,,b:85-70,c:70-60,d:60分以下,没有e等级;
语数外不是一百分制的情况下,其等级区分为:
a:120-100,b:100-85,c:85-70畅顶扳雇殖概帮谁爆京,d:70分以下,没有e等级。

D. c语言小学生四则运算

int main()
{
double a=5.2,b=3.1;
printf("%lf %lf %lf %lf\n",a+b,a-b,a*b,a/b);
return 0;
}

E. 利用c语言编写一个简单的小学生测验系统,功能要求如下。

#include "stdio.h"
#include "iostream"
#include "windows.h"
#define MAX 1000
char problems[MAX][100];
int answers[MAX];
bool flag[MAX] = {false};
int score;
int n;
void init()
{
score = 0;
FILE *fp = fopen("D:\\题库.txt","r");//这里修改路径
fscanf(fp,"%d",&n);
for(int i = 0;i < n;i++)
fscanf(fp,"%s%d",problems[i],&answers[i]);
fclose(fp);
}
void solve(int i,int k)
{
int ans = 0;
printf("第%d题(现在总分是%d分):\n",i,score);
for(int j = 0;j < 3;j++)
{
printf("%s=",problems[k]);
scanf("%d",&ans);
if(ans == answers[k])
{
if(j == 0)
score += 10;
else if(j == 1)
score += 7;
else
score += 5;
if(i != 10)
printf("正确!,下一题......\n");
return;
}
printf("- -,错误......\n");
}
}
void start()
{
int count = 0,t;
while(count != 10)
{
t = rand()%n;
if(flag[t])
continue;
flag[t] = true;
solve(count+1,t);
count++;
}
if(score < 60)
printf("TRY AGAIN\n");
else if(score < 70)
printf("PASS\n");
else if(score < 80)
printf("OK\n");
else if(score < 90)
printf("GOOD\n");
else
printf("SMART\n");
}
int main()
{
srand(GetTickCount());
init();
start();
system("pause");
}

题库.txt
11
1+2 3
1+3 4
1+4 5
1+5 6
7-1 6
7-2 5
7-3 4
11-3 8
11-4 7
11-5 6
11-6 5

F. c语言小学生测验

#include
#include
#include
int main(){
srand(time(NULL));
int a,b,c,score[10],trueValue,sum=0;
for(int i=0;i<10;i++){
for(a=rand()%51,b=rand()%51;a+b>50 || a+b50 || a-b<0; a=rand()%51,b=rand()%51){;}
c=rand()%3;
for(int j=0;j<3;j++){
if(c==1){
printf("%d:%d+%d=",i+1,a,b);
trueValue=a+b;
scanf("%d",&score[i]);
if(score[i]!=trueValue){
printf("答案错误,请重新输入.\n");
score[i]=0;
}
else{
if(j==0){
score[i]=10;
}
else if(j==1){
score[i]=7;
}
else{
score[i]=5;
}
break;
}
}
else{
printf("%d:%d-%d=",i+1,a,b);
trueValue=a-b;
scanf("%d",&score[i]);
if(score[i]!=trueValue){
printf("答案错误,请重新输入.\n");
score[i]=0;
}
else{
if(j==0){
score[i]=10;
}
else if(j==1){
score[i]=7;
}
else{
score[i]=5;
}
break;
}

}
}
if(score[i]==0){
printf("正确答案是:%d\n",trueValue);
}
sum=sum+score[i];
}
printf("你的成绩是:%d\n",sum);
if(sum>90){
printf("SMART.\n");
}
else if(sum>=80){
printf("GOOD.\n");
}
else if(sum>=70){
printf("OK.\n");
}
else if(sum>=60){
printf("PASS.\n");
}
else{
printf("TRYAGAIN\n");
}
return 0;
}

G. 用C语言 给小学生出加法考试题

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

int AddTest(int a,int b)
{
int answer;
printf("Please input the answer:");
scanf("%d",&answer);
if(answer==a+b){
printf("Right!\n");
return 1;}
else{
printf("Not correct!\n");
return 0;}
}

int main()
{
int i,j,k,m,sum=0,wsum=10;
for(k=0;k<10;k++){
i = rand()%10+1;
j = rand()%10+1;
printf("i=%d,j=%d\n",i,j);
m = AddTest(i,j);
sum+=m*10;
wsum-=m;
}
printf("The score is %d,and the wrong number is %d\n",sum,wsum);
return 0;
}
四则运算题可以产生随机数之后按其%4+1的结果来控制内产生随机的四种运算,其他地方容类似

H. C语言程序设计:小学生测验

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

void main()
{
int num=0,err=0; /* 答题数,错误数 */

while(1)
{
int a=0,b=0,d=0,c=0,i=0,result;
char sf[2]={'+','-'};
/* 出题 */
while(1)
{
a=rand()%51;
b=rand()%51;
d=rand()%2;
if(d==0)c=a+b;
else c=a-b;
if(c>=0 && c<=50)break;
}
printf("%d %c %d = \n",a,sf[d],b);
/* 回答 */
printf("输入计算结果:\n");
while(1)
{
scanf("%d",&result);
i++;
if(result==c)
{
printf("回答正确!\n");
break;
}
else if(i<3)
{
printf("错误,请重新回答:\n");
}
else
{
err++;
break;
}
}
num++;
if(num==10)break;
}
printf("\n得分:%d 正确率:%d%\n",100-err*10,100-err*10);
getch();
}

I. 帮忙设计个小学生四则运算C语言程序

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int num=0,num1=0;
int m[1000][100];
char oper[4]={'+','-','*','/'};
int main()
{
int a,b,c,d,e,flag,i,j;
for(i=1;i<=1000;++i)
for(j=1;j<=i;++j)
if(i%j==0)
m[i][m[i][0]++]=j;
srand(time(0));
while(1)
{
system("cls");
printf("当前答题数:%d 正确数:%d 正确率:%.2lf%%\n",num,num1,num?num1*1.0/num*100:0);
flag=0;
c=rand()%4;
while(1)
{
flag=0;
if(c<3)
{
a=rand()%1000;b=rand()%1000;
}
else
{
a=rand()%1000;
b=rand()%m[a][0];
b=m[a][b];
}
switch(c)
{
case 0:
if(a+b<=1000)
flag=1,d=a+b;
break;
case 1:
if(a>=b)
flag=1,d=a-b;
break;
case 2:
if(a*b<=1000)
flag=1,d=a*b;
break;
case 3:
if(a%b==0)
flag=1,d=a/b;
break;
}
if(flag)
break;
}
printf("%d%c%d=?\n",a,oper[c],b);
num++;
scanf("%d",&e);
if(e==d)
{
printf("恭喜你回答正确!\n");
num1++;
}
else
{
printf("很遗憾,回答错误,正确答案是%d\n",d);
}
system("pause");
}
}

J. 小学生测验+c语言代码

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(){
srand(time(NULL));
int a,b,c,score[10],trueValue,sum=0;
for(int i=0;i<10;i++){
for(a=rand()%51,b=rand()%51;a+b>50 || a+b<0 || a-b>50 || a-b<0; a=rand()%51,b=rand()%51){;}
c=rand()%3;
for(int j=0;j<3;j++){
if(c==1){
printf("%d:%d+%d=",i+1,a,b);
trueValue=a+b;
scanf("%d",&score[i]);
if(score[i]!=trueValue){
printf("答案错误,请重新输入.\n");
score[i]=0;
}
else{
if(j==0){
score[i]=10;
}
else if(j==1){
score[i]=7;
}
else{
score[i]=5;
}
break;
}
}
else{
printf("%d:%d-%d=",i+1,a,b);
trueValue=a-b;
scanf("%d",&score[i]);
if(score[i]!=trueValue){
printf("答案错误,请重新输入.\n");
score[i]=0;
}
else{
if(j==0){
score[i]=10;
}
else if(j==1){
score[i]=7;
}
else{
score[i]=5;
}
break;
}

}
}
if(score[i]==0){
printf("正确答案是:%d\n",trueValue);
}
sum=sum+score[i];
}
printf("你的成绩是:%d\n",sum);
if(sum>90){
printf("SMART.\n");
}
else if(sum>=80){
printf("GOOD.\n");
}
else if(sum>=70){
printf("OK.\n");
}
else if(sum>=60){
printf("PASS.\n");
}
else{
printf("TRYAGAIN\n");
}
return 0;
}

阅读全文

与小学生c了相关的资料

热点内容
小学读书计划表格模板 浏览:342
小学语文四年级感叹句 浏览:243
天通苑中山实验小学 浏览:596
小学三年级语文补习班内容 浏览:921
吉安师范附属小学作文 浏览:396
小学教师备课网站 浏览:1
私立美男学院 浏览:383
小学六年级上册语文第六单元试卷凉州岛 浏览:915
小学1年级手gong大全 浏览:459
小学生手抄报的图片大全图片大全 浏览:68
小学健康知识讲座 浏览:120
小学毕业季适合发老师的句子 浏览:451
汕尾凤山中心小学校长 浏览:606
小学生毕业汇演舞蹈 浏览:702
小学生抗击疫情的表演 浏览:107
私立华联大学本科 浏览:61
小学三年级作文我想谢谢你400 浏览:855
中小学生睡眠问题 浏览:174
小学生公共生活守规则教案 浏览:313
淮河私立学校 浏览:99