三天打鱼两天晒网的C++程序设计题
C-C++语言趣味程序设计编程百例精解(2)

c语言方面毕业设计选题

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. 删除职工信息*题目二:图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
C语言趣味程序设计——题目百例

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颗棋子。
C语言三天打鱼两天晒网

printf("自从1990年1月1日起【三天打鱼两天晒网】\n");
printf("问这个输入的某一天里是【打鱼】还是【晒网】\n");
printf("n=年y=月r=日\n");
printf("\n*******************************************\n");
for(i=0;i<10000000;i++)
{
printf("请输入年月日:");
scanf("%d%d%d",&n,&y,&r);
if(n<1990)
{
printf("\n无效日期,退出程序\n");
break;
}
else
{
if(y<1||y>12)
{Байду номын сангаас
printf("\n无效日期,退出程序\n");
{
printf("\n无效日期,退出程序\n");
break;
}
else if((y==4||6||9||11)&&(r>30||r<1))
{
printf("\n无效日期,退出程序\n");
break;
}
else
{
sum1 = fun1(n,y,r);//函数的调用
sum2 = fun2(n,y,r);
for(i=1990;i<n;i++)
C++编程语言实现“三天打鱼两天晒网”的示例代码

}
std::cout << "总共打鱼:" << totalFish << " 天" << std::endl; std::cout << "总共洒网:" << totalNet << " 天" << std::endl;
以下是使用 C++编程语言实现“三天打鱼两天晒网”的示例代码:
cpp 复制代码
#include <iostream>
int main() { int days; std::cout << "请输入天数:"; std::cin >> days;
int totalFish = 0; int totalNet = 0;
return ; }
这段代码首先会要求用户输入天数,然后使用循环来计算在这些天数内打鱼和洒网的总天 数。根据“三天打鱼两天晒网”的规则,如果天数是 5 的倍数或者余数为 4,就表示是洒网的 天数,否则就是打鱼的天数。最后,程序会输出打鱼和洒网的总天数。
请注意,这只是一个简单的示例代码,实际应用中可能需要更多的逻辑和功能来处理不同的 情况和需求。
C++趣味编程题(含答案)

题目:中国有句俗语叫“三天打鱼两天晒网”。
某人从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语言课程设计选题一、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.主题:回文的形成功能要求:取任意十进制整数,将其加回原始整数,得到一个新整数,然后重复上述步骤,最终得到一个回文数。
请进行程序验证。
C语言大赛题目精选(带答案)

牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:
四位的车号刚好是一个整数的平方。请根据以上线索求出车号。
*问题分析与算法设计
按照题目的要求造出一个前两位数相同、后两位数相同且相互间又不同的整数,然后判断该整数是否是另一个整数的平方。
*程序与程序注释
#include<stdio.h>
for(i3=0;i3<=(20-8*i8-5*i5)/3;i3++)
for(i2=0;i2<=(20-8*i8-5*i5-3*i3)/2;i2++){i1=20-8*i8-5*i5-3*i3-2*i2;
term=
2000."0*pow((double)(1+
0."0063*12),(double)i1)
/*计算到期时的本利合计*/
if(term>max){max=term;n1=i1;n2=i2;n3=i3;n5=i5;n8=i8;}}
printf("For maxinumprofit,he should so save his money in a bank:
\\n");printf("made fixed deposit for 8 year:
甲说:
”乙没有偷,是丁偷的。”B+D=1
乙说:
“我没有偷,是丙偷有。”B+C=1
丙说:
“甲没有偷,是乙偷的。”A+B=1
丁说:
“我没有偷。”A+B+C+D=1
其中丁只说了一句话,无法判定其真假,表达式反映了四人中仅有一名是窃贱的条件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<iostream> using namespace std; int days(struct date day); struct date { int year; int month; int day; };
int days(struct date day) { static int day_tab[2][13]= {{0,31,28,31,30,31,30,31,31,30,31,30,31,}, 每月的天数*/ {0,31,29,31,30,31,30,31,31,30,31,30,31,}, }; int i,lp; lp=day.year%4==0&&day.year%100!=0||day.year%400==0; /*判定 year 为闰年还是平年,lp=0 为平年,非 0 为闰年*/ for(i=1;i<day.month;i++) 的天数*/ /*计算本年中自 1 月 1 日起 /* 平均
fprintf(fp2,"\n 该人当天在打鱼!\n\n"); } else { printf("该人当天在晒网!\n"); fprintf(fp2,"\n 该人当天在晒网!\n\n"); } }
/*
捕鱼问题 1,本次大赛主题 :中国有句俗语叫 “三天打鱼两天晒网 ”。某人从 2007 年 1 月 1 日起开始“三天打鱼两天晒网”, 问这个人在以后的某一天中 是“打鱼”还是“晒网”。 2,规则:尽量不要修改已给出部分的代码,如果确实要修改的,必须在修 改处加注释 3,答题格式(参考如下): A,编绎器及版本:VC++6.0 B,算法的简要说明:写你的 4,内容:题目已经比较清楚了,就是前三天打鱼后两天晒网 */ #include<stdio.h> int fishing(int year,int month,int day); int main(void) { int year,month,day; printf("请输入一个日期:\n"); scanf("%d%d%d",&year,&month,&day); fishing(year,month,day); return 0; } int fishing(int year,int month,int day)
{ int n=0;//代表闰年个数 int month1;//代表月数之差 int year_1;//代表年之差换算成天数差 int month_1,day_1; int sum;//代表某天之后,即从 2007/01/01 后的天数 int k;//代表是求模数,0,1,2 代表打鱼,3,4 代表晒网 /*判断是否是闰年,并计算其个数*/ int m;//计算闰年时使用的参数 int f1,f2,f3; for(m=1;m<=year;m++) {
break; case 4: printf("今天该晒网\n"); break; } return 0; }
printf("year:%d\n",year_1);//检查统计年数是否成功 printf("month:%d\n",month_1);//检查统计月数是否成功 printf("day:%d\n",day_1);//检查统计天数是否成功
printf("sum:%d\n",sum);//检查统计总天数是否成功
k=sum%5;//求模,0,1,2 代表打鱼,3,4 代表晒网 printf("%d\n",k);//检查统计求模是否成功 switch(k) { case 0: printf("今天该打鱼\n"); break; case 1: printf("今天该打鱼\n"); break; case 2: printf("今天该打鱼\n"); break; case 3: printf("今天该晒网\n");
for(yearday=0,year=1990;year<today.year;year++)
{ term.year=year; yearday+=days(term); 年共有多少天*/ } yearday+=days(today); */ day=yearday%5; if(day>0&&day<4) { printf("该人当天在打鱼!\n"); /*打印结果*/ /*求余数*/ /*加上指定年中到指定日期的天数 /*计算从 1990 年至指定年的前一
month_1=181; break; case 7: month_1=212; break; case 8: month_1=243; break; case 9: month_1=273; break; case 10: month_1=304; break; case 11: month_1=334; break; } /*计算天数差*/ day_1=day-1; /*计算总天数后*/ sum=year_1+month_1+day_1;
f1=((m%4)==0); f2=((m%100)==0); f3=((m%400)==0); if(f1&&(!f2)||f2&&f3) n++; } printf("n:%d\n",n);//检查统计闰年个数是否成功 year_1=(year-2007)*365+n-486;//500 代表 2007 前的闰年个数 /*计算月份差 */
否则 是在“晒网” 在这三步中,关键是第一步。求从 1990 年 1 月 1 日至指定日期 有多少天,要判断经历年份中是否有闰年,二月为 29 天,平年为 28 天。闰年的方法可以用伪语句描述如下: 如果 则 否则 */ //西北师范大学第五届程序设计大赛实例 6.cpp //作者:西北师范大学 -数学与信息科学学院 -09 级计算机科学与技术 一班-200971030102-陈建峰 分 时间:2011 年 05 月 09 日 10 时 50 ((年能被 4 除尽 且 不能被 100 除尽)或 能被 400 除尽) 该年是闰年; 不是闰年。
/*打鱼还是晒网 中国有句俗语叫“三天打鱼两天晒网”。某人从 1990 年 1 月 1 日 起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还 是“晒网”。 *问题分析与算法设计 根据题意可以将解题过程分为三步: 1)计算从 1990 年 1 月 1 日开始至指定日期共有多少天; 2)由于“打鱼”和“晒网”的周期为 5 天, 所以将计算出的天数用 5 去除; 3)根据余数判断他是在“打鱼”还是在“晒网”; 若 余数为 1,2,3,则他是在“打鱼”
month1=month-1; switch(month1) { case 0: month_1=0; break; case 1: month_1=31; break; case 2: month_1=59; break; case 3: month_1=90; break; case 4: month_1=120; break; case 5: month_1=151; break; case 6:
ay.day+=day_tab[lp][i]; return day.day; }
void main() { FILE *fp1,*fp2; struct date today,term; int yearday,year,day; //printf("Enter year/month/day:"); //scanf("%d%d%d",&today.year,&today.month,&today.day); 入日期*/ fp1=fopen("input.txt","rb"); fp2=fopen("output.txt","wb"); fscanf(fp1,"%d%d%d",&today.year,&today.month,&today.day); printf(" 从 文 件 input.txt 当 中 读 取 的 年 月 日 为 : %d-%d-%d\n",today.year,today.month,today.day); fprintf(fp2," 从 文 件 input.txt 当 中 读 取 的 年 月 日 为 : %d-%d-%d\n",today.year,today.month,today.day); term.month=12; term.day=31; /*设置变量的初始值:月*/ /*设置变量的初始值:日*/ /* 输