三天打鱼两天晒网的C++程序设计题
- 格式:pdf
- 大小:91.43 KB
- 文档页数:10
c语言方面毕业设计选题篇一:C语言课程设计选题C语言课程设计一、设计要求与设计报告设计要求1、任意选定以下一个题目,限3人选的题目可由1-3人完成(用*表示)2、模块化程序设计3、锯齿型程序书写格式4、必须上机调试通过所有题目必须要用到链表,能将生成的文件存储于外部存储器上,并且从外部存储器上可以读写该文件的功能。
设计报告格式:1、设计目的2、总体设计(程序设计组成框图、流程图)3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施5、源程序清单和执行结果:清单中应有足够的注释6、体会。
二、检查要求:1、每个人必须有程序运行结果2、每个人必须交《C语言课程设计报告》和设计程序清单3、课程设计任务必须由个人独立完成,禁止相互抄袭,如有发现,严肃处理三、打分标准:1、根据程序运行结果2、根据《C语言课程设计报告》,学生能对自己的程序面对教师提问并能熟练地解释清楚,以上二项缺一不可3、由于课程设计各题目的难度不一,所以成绩的评定将根据各人完成题目的难度和完成情况的不同,分别评定成绩,如未能完成任何题目,则以不及格计算四、提交时间课程设计任务完成时间(以安排为准),届时上交课程设计报告和程序。
课设题目*题目一:职工信息管理系统设计试设计一职工信息管理系统,使之能提供以下功能:1、系统以菜单方式工作2、职工信息录入功能(职工信息用文件保存)--输入3、职工信息浏览功能--输出4、查询或排序功能:(至少一种查询方式)——算法,按工资查询,按学历查询等5、系统进入画面(静态或动画)6、职工信息删除、修改功能(可选项)创新要求在基本要求达到后,可进行创新设计,如对菜单进行美化。
信息描述职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。
功能描述1. 录入职工信息并保存2. 显示所有职工信息(以一定的格式)3. 查询职工信息(以一种或多种方式)4. 修改职工信息并保存5. 删除职工信息*题目二:图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
Contest - 2011级C语言课程大作业Start Time: 2012-02-19 16:25:00 End Time: 2012-03-01 22:00:00 Current Time: 2012-2-23 15:51:18 Status:Running Public写在最前:本文档中的题目;在不不同的编译器中可能会有提示错误,呵呵,小小的动动手改下变量的定义就可以运行了………………..由于能力不足..有题目未解决的…或者有错误的我会…认真听取大家的..意见的….呵呵……..有一两个….偷了下懒哦………提供原题目还有本人自己的解答的源代码。
感谢大家的。
建议…………….问题A: 趣味程序设计_狼追兔子时间限制: 1 Sec 内存限制: 128 MB提交: 341 解决: 63[提交][状态][讨论版]题目描述一只兔子躲进了n个环形分布的洞的某一个中。
狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞去找。
以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?输入有多组测试数据,读取到文件结尾符为止。
每组测试数据输入n(2≤n≤100),即洞穴个数。
输入到文件结尾符为止。
输出兔子可能藏匿的洞。
如果不止一个,按从小到大的顺序输出。
如果不存在,输出空行。
样例输入10815样例输出2 4 7 92 4 5 7 8 9 11 12 14提示用一个数组a[10],对应的元素a[0],a[1],a[2]……a[9]对应表示10个洞,初值均置1。
通过一个循环用“穷举法”找兔子,第n次查找对应第(n-1)%10个洞,如果在第(n-1)%10个洞中没有找到兔子,因此将数组元素a[(n-1)%10]置0值。
循环完成后,检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身该洞中。
#include<stdio.h>#include<string.h>int ok[110];int main(){int n,s,i,find;while(scanf("%d",&n)!=EOF){memset(ok,0,sizeof(ok));for(i=1;i<=200;i++)if(!ok[find=(i*(i+1)/2)%n])if(find==0)ok[n]=1;elseok[find]=1;for(s=0,i=1;i<=n;i++)s+=ok[i];for(i=1,find=0;i<=n;i++)if(!ok[i]){if(find!=(n-s-1)){printf("%d ",i);find++;}elseprintf("%d",i);}printf("\n");}return 0;}问题B: 趣味程序设计_巧夺偶数时间限制: 1 Sec 内存限制: 128 MB提交: 174 解决: 73[提交][状态][讨论版]题目描述桌子上有25颗棋子。
题目:中国有句俗语叫“三天打鱼两天晒网”。
某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”?自编源代码:#include<iostream>#include<cmath>using namespace std;int main(){int y,m,d,n,sum,a,b,c;cout<<"请输入年月日"<<endl;cin>>y>>m>>d;sum=365*(y-1990)+d;switch(m){case(2):sum+=31;break;case(3):sum+=31+28;break;case(4):sum+=31+28+31;break;case(5):sum+=31+28+31+30;break;case(6):sum+=31+28+31+30+31;break;case(7):sum+=31+28+31+30+31+30;break;case(8):sum+=31+28+31+30+31+30+31;break;case(9):sum+=31+28+31+30+31+30+31+31;break;case(10):sum+=31+28+31+30+31+30+31+31+30;break;case(11):sum+=31+28+31+30+31+30+31+31+30+31;break;case(12):sum+=31+28+31+30+31+30+31+31+30+31+30;break;}a=(y-1600)/400;b=(y-1900)/100;c=(y-1988)/4;if(((y%4==0 && y%100!=0)||y%400==0)&&m>2){sum+=c+a-b;}else if(((y%4==0 && y%100!=0)||y%400==0)&&(m==1||m==2)){sum+=c+a-b-1;}else{sum+=c+a-b;}if(sum%5==0||sum%5==4){cout<<"晒网ing"<<endl<<sum<<endl;}else{cout<<"打鱼ing"<<endl<<sum<<endl;}return 0;}。
C语言课程设计选题一、c语言课程设计选题如下(每个题目不能超过五人选择)1、课题:设计一个万年历功能要求:1.输入年份,并分段返回全年日历(包括年、月和周)。
2.注意闰年2、课题:设计简单的计算器功能要求:1.通过菜单选择实现。
判断采用加减乘除法。
选择规则后,输入两个要计算的数字并输出计算结果。
3.主题:做一个猜谜游戏。
功能要求:1、计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直到我猜2、猜中后给出所用的时间和评语4、课题:将任一整数转换为二进制形式功能要求:将任意整数转换成二进制形式,输出5。
主题:小学生考试大纲的功能要求:1、电脑随机出10道题,每题10分,程序结束时显示学生得分2、不能有负数3.每个问题有三次输入答案的机会。
当输入错误答案时,提醒学生重新输入,若三次机会结束则输出正确答案4、对于每道题,第一次输入正确答案得10分,第二次输入正确答案得7分,如果你第三次输入正确答案,你会得到5分,否则你不会得到5分。
如果总分超过90分,则显示“智能”,80-90:good70-80:ok60-70:pass60以下:tryagain6.主题:24个游戏功能要求:输入四个一位数,通过加减乘除,允许加入括号,计算出24,显示计算过程,并提示成功信息7、课题:大数相乘功能要求:1.大整数指超过十位的十进制整数。
这里很简单,假设不超过50位。
由于超界溢出,这种大整数在C语言系统中无法直接表达和计算。
您可以使用数组来表示大整数,并在此基础上编写程序来乘以大整数。
8.主题:从十六进制到十进制的转换功能要求:实现输入一个十六进制,转换为十进制的设计9、课题:位数大小排序功能要求:输入一个五位整数,将该整数中的五个值从大到小排序,形成一个新的五位整数,并输出该整数。
10.主题:回文的形成功能要求:取任意十进制整数,将其加回原始整数,得到一个新整数,然后重复上述步骤,最终得到一个回文数。
请进行程序验证。
项目三循环程序设计—打鱼还是晒网任务一while语句学案学生自评教师评分1. 了解循环结构、循环语句2. 掌握while语句和语法形式、执行顺序及用法3. 掌握循环结构的嵌套使用方法【学习重点、难点】1.while语句2. 算法描述。
【学时安排】4学时【学习过程】中国有句俗话叫“三天打鱼两天晒网”。
某人从1990年1月1日开始“三天打鱼两天晒网”,问这个人在1994年3月1日这一天是在“打鱼”,还是“晒网”?一、课前预习及课堂学习任务1、循环结构?2、循环语句:实现循环结构的语句称为循环语句。
3、在C中,循环语句有以下三种:for语句while语句do…while语句1)while循环——当型循环while语句的一般格式为:while(表达式)语句while语句的执行过程为:(1)计算并判断表达式的值。
若值为0,则结束循环,退出while语句;若值为非0,则执行循环体。
(2)转步骤(1)。
执行过程流程图:二、While语句-------使用要点(当型循环)1.圆括号中的表达式可以是任意表达式,它仅用来测试表达式的结果值是零值还是非零值,用以决定循环进行的条件,称为“判终表达式”,一般是关系表达式或逻辑表达式,与条件语句一样可进行如下简化:while(x != 0) →while(x == 0) →2.当判终表达式为时,这样的while语句为无穷循环语句,如:while(1) 语句; // 无穷循环语句3. while语句的循环体通常是一个复合语句,也可以是简单语句,甚至可以是一个。
4.在循环体中应有使循环趋于的语句,以避免“死循环”。
任务二do-while循环——直到型循环学案学生自评教师评分1. 了解循环结构、循环语句2. 掌握do-while语句和语法形式、执行顺序及用法3. 掌握循环结构的嵌套使用方法【学习重点、难点】1.do-while语句【学时安排】2学时【学习过程】二、课前预习及课堂学习任务do-while语句的一般格式为do 语句while(表达式);do-while语句的执行过程为:(1)执行循环体语句。
import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;public class y_dayu {public static void main(String[] args) throws IOException {System.out.println("打鱼");System.out.println("从2000年1月1日起");BufferedReader buff;System.out.println("请输入year的值:");buff=new BufferedReader(new InputStreamReader(System.in)); String str=buff.readLine();int year=Integer.parseInt(str);System.out.println("year="+year);System.out.println("请输入month的值:");buff=new BufferedReader(new InputStreamReader(System.in));String str1=buff.readLine();int month=Integer.parseInt(str1);System.out.println("month="+month);System.out.println("请输入day的值:");buff=new BufferedReader(new InputStreamReader(System.in));String str2=buff.readLine();int day=Integer.parseInt(str2);System.out.println("day="+day);int i,sum=0;for(i=2000;i<year;i++){if((i%4==0&&i%100!=0)||i%400==0){sum+=366;}else{sum+=365;}}//年for(i=1;i<month;i++)//注意i<month{switch (i) {case 1:case 3:case 7:case 8:case 10:case 12: {sum += 31;break;}case 4:case 6:case 9:case 11: {sum += 30;break;}case 2: {if ( (year % 4 == 0 && year % 100 != 0) || year % 400 == 0)sum += 29;else {sum += 28;}}}}//月sum += day;//日,不要放在month的循环里System.out.println("总天数day为:"+sum);if(day%5==1||day%5==2||day%5==3){System.out.println("打鱼");}else {System.out.println("晒网");}}}。
C语言渔夫打鱼晒网问题如果一个渔夫从2011 年1 月1 日开始每三天打一次渔,两天晒一次网,编程实现当输入2011 1 月1 日以后的任意一天,输出该渔夫是在打渔还是在晒网。
实现过程:(1) 自定义函数leap(),用来判断输入的年份是否是闰年。
(2) 自定义函数number(),用来计算输入日期距2011 年1 月1 日共有多少天。
(3) main() 函数作为程序的入口函数,在main() 函数中调用上面两个函数。
程序代码如下:1.#include<stdio.h>2.int leap(int a)/*自定义函数leap()用来指定输入的年份是否为闰年*/3.{4.if(a%4==0&&a%100!=0||a%400==0)/* 闰年判定条件 */5.return1;/*是闰年返回1*/6.else7.return0;/*不是闰年返回O*/8.}9.10.int number(int year,int month,int day)/*自定义函数 number() 计算输入日期距2011年1月1日共有多少天*/11.{12.int sum =0, i, j, k;13.int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};/*数组a存放平年每月的天数*/14.int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};/*数组b存放闰年每月的天数*/15.16.if(leap(year)==1)/*判断是否为闰年*/17.for(i=0;i<month-1;i++)18. sum+=b[i];/*是闰年,累加数组b前m-1个月份的天数*/19.else20.for(i=0;i<month-1;i++)21. sum+=a[i];/*不是闰年,累加数组a前m-1个月份的天数*/22.for(j=2011;j<year;j++)23.if(leap(j)==i)24. sum+=366;/*2011年到输入的年份是闰年的加366*/25.else26. sum+=365;/*2011年到输入的年份不是闰年的加365*/27. sum+=day;/*将前面累加的结果加上日期,求出总天数*/28.return sum;/*返回计算的天数*/29.}30.31.int main()32.{33.int year,month,day,n;34.printf("请输入年月日\n");35.scanf("%d%d%d",&year,&month,&day);/*输入年月日*/36. n=number(year,month,day);/*调用函数 number()*/37.if((n%5)<4&&(n%5)>0)/*余数是1或2或3时说明在打渔,否则在晒网*/38.printf("%d:%d:%d 打鱼\n",year,month,day);39.else40.printf("%d:%d:%d 晒网\n",year,month,day);41.return0;42.}运行结果:。
韩信点兵在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。
据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:按从1至5报数,记下最末一个士兵报的数为1;再按从1至6报数,记下最末一个士兵报的数为5;再按从1至7报数,记下最末一个士兵报的数为4;最后按从1至11报数,最末一个士兵报的数为10;你知道韩信至少有多少兵?()z谁结婚呢?魔术师的秘密在一次晚会上,一位魔术师掏出一叠扑克牌,取出其中13张黑桃,预先洗好后,把牌面朝下,对观众说:“我不看牌,只数一数就能知道每张牌是什么?”魔术师口中念一,将第一张牌翻过来看正好是A;魔术师将黑桃A放到桌上,继续数手里的余牌,第二次数1,2,将第一张牌放到这叠牌的下面,将第二张牌翻开,正好是黑桃2,也把它放在桌子上。
第三次数1,2,3,前面二张牌放到这叠牌的下面,取出第三张牌,正好是黑桃3,这样依次将13张牌翻出,准确无误。
现在的问题是,魔术师手中牌的原始顺序是怎样的?约瑟夫问题这是17世纪的法国数学家加斯帕在《数目的游戏问题》中讲的一个故事:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一圆圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环进行直到仅余15个人为止.问怎样排法,才能使每次投入大海的都是非教徒.求车速一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859.两小时后里程表上出现了第二个新的对称数.问该车的速度是多少新的对称数是多少?常胜将军现有21根火柴,两人轮流取,每人每次可以取走1至4根,不可多取,也不能不取,谁取最后一根火柴谁输.请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为"常胜将军".十进制转换成N进制(N=2 8 16 )定义一个方法Trans(int num, int regx) 实现将一个输入十进制数num转换成regx 进制Eg: Trans(100, 16) 表示将 100 转成 16进制数输出求100到1000之间有多少个其数字之和为5的整数.(答案:104,113,122,131,140,203,212,221,230,302,311,320,401,410,500)打鱼还是晒网scanf(“%d%d%d”,&year ,&month,&day);中国有句俗语叫"三天打鱼两天晒网".某人从1990年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天中是"打鱼"还是"晒网".*思考题:请打印出任意年份的日历*运行结果Enter year/month/day:1991 10 25He was fishing at day.Enter year/month/day:1992 10 25He was sleeping at day.Enter year/month/day:1993 10 25He was sleeping at day.求具有abcd=(ab+cd)^2性质的四位数3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身.请求出具有这样性质的全部四位数.*运行结果There are following numbers with 4 digits satisfied condition:2025 3025 9801填数字游戏已知下面的算式:ABCD× EDCBA 计算ABCDE取什么值? Sum谁在说谎张三说李四在说谎,李四说王五在说谎,王五说张三和李四都在说谎.现在问:这三人中到底谁说的是真话,谁说的是假话*运行结果Zhangsan told a lie (张三说假话)Lisi told a truch. (李四说真话)Wangwu told a lie. (王五说假话)谁是窃贼公安人员审问四名窃贼嫌疑犯.已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的.在回答公安人员的问题中:甲说:"乙没有偷,是丁偷的."乙说:"我没有偷,是丙偷的."丙说:"甲没有偷,是乙偷的."丁说:"我没有偷."请根据这四人的答话判断谁是盗窃者.*运行结果The thief is B. (乙为窃贼.)求数字求出所有可能的以下形式的算式,每个算式中有九个数位,正好用尽1到9这九个数字。
Contest - 2018全校C语言程序设计作业2题目1:有句俗话说“三天打鱼两天晒网”。
假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第n天是“打鱼”还是晒网示例结果1:103Fishing in day 103示例结果2:34Drying in day 34代码:#include<stdio.h>int main(void){int n;while(scanf("%d",&n)!=EOF){if(n%5<=3&&n%5>0){printf("Fishing in day %d\n",n);}else{printf("Dring in day %d\n",n);}}return 0;}题目2:告诉公路超速处罚:行驶的机动车,超出本车道限速的10%处200罚款;若超出50%,就要吊销驾驶证。
请输入两个整数,分别对应车速和限速,自动判断对机动车的处理。
示例结果1:65 60OK示例结果2:110 100Exceed 10% . Ticket 200示例结果3:200 120Exceed 67% . License Revoked代码:#include<stdio.h>int main(void){int a,b;double m;while(scanf("%d%d",&a,&b)!=EOF){m=(a-b)*1.0/b;if(a<b||m<0.1)printf("OK\n");else if(m<0.5)printf("Exceed %.0f%%.Ticket 200\n",m*100);elseprintf("Exceed %.0f%%.License Revoked\n",m*100);}return 0;}题目3:假设90号汽油价格为6.95元/升,93号汽油7.44元/升,97号汽油7.93元/升。