大一上学期课程设计
来源:互联网 发布:淘宝网不能搜索 编辑:程序博客网 时间:2024/04/28 20:22
一,小学生考试系统
/*Copyright(c)2016,烟台大学计算机学院all rights reserved.作者:曹欣宇完成日期:2016年12月31日题目描述 出10个100以内的加减乘除随机运算输入 答案输出 答案评判以及正确答案,最后输出正确率以及得分。样例输入 无样例输出 无课程设计说明:增加减乘除运算,开始输入年级,一二年级只有加法,三四年级增加乘法,五六年级增加除法。*/#include <stdio.h>#include <stdlib.h>#include <time.h>void jia();void jian_h();void cheng_h();void chu_h();int num1,num2,add,jian,cheng,chu,way,jie,count=0;//float rate;int main(){ int i,grade; printf("/*****************************/\n"); srand(time(0)); printf("请输入年级(数字):\n"); scanf("%d",&grade); for(i=0; i<10; i++) { num1=rand()%100+1; num2=rand()%100+1; if(grade==1||grade==2) way=rand()%2+1; else if(grade==3||grade==4) way=rand()%3+1; else if(grade==5||grade==6) way=rand()%4+1; printf("这是第%d道题\n",i+1); if(way==1) jia(); else if(way==2) jian_h(); else if(way==3) cheng_h(); else if(way==4) chu_h(); } //rate=(float)count/10; printf("你的正确率是%%d,得分%d\n",count*10,count*10); return 0;}/***********************************************************功能描述;进行加法计算。参数;无。返回值;无。其他说明;随机数若相加大于零则重新产生。***********************************************************/void jia(){ while(num1+num2>100) { num1=rand()%99+1; num2=rand()%99+1; if(num1+num2<=100) break; } jie=num1+num2; printf("%d+%d=?\n",num1,num2); printf("你的答案是?"); scanf("%d",&add); if(add==jie) { printf("这么简单,你肯定会做对的!\n"); count++; } else { printf("没听课吗?要努力喽!\n"); printf("正确答案是%d\n",jie); printf("/*****************************/\n"); }}/***********************************************************功能描述;进行减法计算。参数;无。返回值;无。其他说明;若第一个随机数小于第二个随机数则重新产生。***********************************************************/void jian_h(){ while(num1<num2) { num1=rand()%99+1; num2=rand()%99+1; if(num1>num2) break; } jie=num1-num2; printf("%d-%d=?\n",num1,num2); printf("你的答案是?"); scanf("%d",&jian); if(jian==jie) { printf("不错不错!\n"); count++; } else { printf("继续努力!\n"); printf("正确答案是%d\n",jie); printf("/*****************************/\n"); }}/***********************************************************功能描述;进行乘法计算。参数;无。返回值;无。其他说明;随机数若相乘大于零则重新产生。***********************************************************/void cheng_h(){ while(num1*num2>100) { num1=rand()%99+1; num2=rand()%99+1; if(num1*num2<=100) break; } jie=num1*num2; printf("%d*%d=?\n",num1,num2); printf("你的答案是?"); scanf("%d",&cheng); if(cheng==jie) { printf("厉害啊,乘法难不倒你!\n"); count++; } else { printf("想想哪里错了。\n"); printf("正确答案是%d\n",jie); printf("/*****************************/\n"); }}/***********************************************************功能描述;进行除法计算。参数;无。返回值;无。其他说明;若第一个随机数大于第二个则重新产生,且保证结果为整数。***********************************************************/void chu_h(){ while(num1<num2||num1>100) { num1=rand()%99+1; num2=rand()%99+1; if(num1>num2) break; } num1=(num1/num2)*num2; jie=num1/num2; printf("%d/%d=?\n",num1,num2); printf("你的答案是?"); scanf("%d",&chu); if(chu==jie) { printf("真棒!\n"); count++; } else { printf("你离成功不远了!\n"); printf("正确答案是%d\n",jie); printf("/*****************************/\n"); }}
二,大奖赛计分。
/*Copyright(c)2016,烟台大学计算机学院all rights reserved.作者:曹欣宇完成日期:2016年12月31日题目描述 详见报告输入 评委人数以及各评委打分输出 选手最后得分样例输入 无样例输出 无课程设计说明:按N继续,按其他键退出*/#include <stdio.h>void calScore(int n);int main(){ int n; char whether; while(1) { printf("请输入评委的人数:"); scanf("%d",&n); calScore(n); printf("*******************************SUCCESS**********************************\n"); printf("按N退出,其他键继续!\n"); getchar(); scanf("%c",&whether); if(whether=='N') break; } return 0;}/***********************************************************功能描述;进行程序大部分功能,即:输入成绩,判断输入是否合法,得出最后得分输入参数;n-评委人数。返回值;无。其他说明;若输入不合法则重新输入。***********************************************************/void calScore(int n){ float grade,max=-1,min=11; float average,sum=0; int j=0,num; num=n; printf("请输入选手的成绩(1-10):\n"); for(j=1; j<=num; j++) { printf("第%d位评委的给分为:",j); scanf("%f",&grade); while(1) { if(grade>=1&&grade<=10) break; if(grade<1||grade>10) { printf("第%d位评委的给分为:",j); scanf("%f",&grade); } } sum=sum+grade; if(grade>max) max=grade; if(grade<min) min=grade; } average=(sum-max-min)/(num-2); printf("去掉一个最低分:%.2f,去掉一个最高分;%.2f\n",min,max); printf("这位选手最后的得分是:%.3f!\n",average);}
三,电子词典。
/*Copyright(c)2016,烟台大学计算机学院all rights reserved.作者:曹欣宇完成日期:2016年12月31日题目描述 详见报告输入 一个英文单词输出 词性以及中文意思样例输入 具体见运行图样例输出 具体见运行图课程设计说明:拓展内容,若三次连续没有正确输入则退出*/#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 8001int binary_chop();struct dictionary{ char e[20]; char c[20];};int m=0;int j,max=N-1,min=0,mid;char s[20];int count=0;struct dictionary dic[N];int main(){ printf("/*****************************************/\n"); printf("注意,若三次连续没有正确输入,则系统会自动退出!\n"); printf("/*****************************************/\n"); FILE *fp; if((fp=fopen("dictionary.txt","r"))==NULL) { printf("Target file cannot open!"); exit(0); } for(j=1; j<=N; j++) { fscanf(fp,"%s %s",dic[j].e,dic[j].c); } fclose(fp); while(1) { printf("请输入要查找的单词(0000结束):"); gets(s); if(strcmp(s,"0000")==0) break; else { binary_chop(); if(m==1) { printf("%s的中文意思是: %s\n/********************************/\n",s,dic[mid].c); count=0; } else { printf("查无此词!\n/********************************/\n"); count++; } min=0,max=N-1,m=0; } if(count>=3) { printf("你逗我玩呢,不想用就赶紧gun!\n"); break; } } if(count==0) printf("欢迎再次使用!\n"); return 0;}/***********************************************************功能描述;进行二分查找。参数;无。返回值;m。其他说明;若找到则返回m值为1,反之则为0。***********************************************************/int binary_chop(){ while(min<=max) { mid=(min+max)/2; if(strcmp(dic[mid].e,s)==0) { m=1; break; } if(strcmp(dic[mid].e,s)>0) max=mid-1; else min=min+1; } return m;}
总结详见报告。
0 0
- 大一上学期课程设计
- 大一上学期过去了
- 大一上学期
- 大一上学期
- 大一上学期总结
- 课程设计上学期总结
- 大一上学期寒假任务
- 大一上学期的作业
- 大一下 & 暑假 & 大二上学期规划
- 学期小结1:大一上学期
- 大一上学期总结(一)
- 大一上学期c++学习感想
- 大一上学期 (回顾和展望)
- 大一上学期寒假 判断素数
- 大一上学期寒假 养兔子
- 大一上学期寒假 1993最值
- 大一上学期学的C语言总结
- 大一上学期,新慨念英语学习大厅试题资料
- rabbitmq的测试用例
- MS SQL 日志记录管理
- 图像分割总结,图像处理
- WebGL-片元着色器 1.Bloom特效实现
- unity 问题汇总
- 大一上学期课程设计
- windows 环境下wamp环境的搭建
- CPU与内存的那些事
- 3分钟读懂Xutils数据库的操作:
- Node项目之bootstrap-fileinput- 上传插件使用
- 操作Cassandra(5)-Compression
- 配置编译工具链出现 No such file or directory(没有那个文件或目录)
- 1. Two Sum
- ubuntu apt-get工作原理