当前位置:首页 » 编程语言 » c语言三天打鱼两天晒网

c语言三天打鱼两天晒网

发布时间: 2023-05-27 02:58:38

⑴ 三天打鱼两天晒网c语言编程用结构体变量怎么写

三天打鱼两天晒网c语言编程用结构体变量解题思路如下:

1、计算从 1990年1月1日开纯喊始至指定日期共有多少天;

2、由于“打鱼斗裤樱”和“晒网”的周期为5天,所以将计算出的天数用5去除;

3、根据余数判断是在“打鱼”还是在“晒网”;若余数为 1,2,3,则他是在“打鱼”否则是在“空丛晒网”。

接下来的代码就可以根据自己所学的知识进行解决了。

⑵ c语言 三天打鱼两天晒网 在线等 急急急!

#include<stdio.h>

intmain(){

intN,i;

scanf("%d",&N);

for(i=0;i<N;i+=5)

;

if(i-N>1)

printf("这个人第%d天在“打鱼乎喊伍” ",N)。

else。

printf("岁或这个人第%d天在“晒网” ",N);


(2)c语言三天打鱼两天晒网扩展阅读:

C语言的注释符一般分为两种,一种是以“/*”开头,在中间加上注释内容,并以“*/”结尾的段落注释符。在“/*”和“*/”之间的即为注释。

另一种是以“//”开头,后面加注释内容的单行注释符。在“//”之后的即为注释。

C语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。

注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起渗物来,使翻译跳过不做处理,待调试结束后再去掉注释符。

⑶ c语言编程之三天打鱼两天晒网

#include <stdio.h>
#define MAX 100
#define leap(y) (y%4==0 && y%100!=0 || y%400==0)
struct d{int y,m,d;};
long days(struct d d1,struct d d2)
{
int mon[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; long td=0;
for(i=d1.y;i<d2.y;i++)
td+=leap(i)?366:365;
for(i=1;i<d1.m;i++)
td-=mon[leap(d1.y)][i];
td-=d1.d-1;
for(i=1;i<d2.m;i++)
td+=mon[leap(d2.y)][i];
td+=d2.d-1;
return td;
}

int main()
{
struct d now[MAX],start={1990,1,1};
int n,i,day;
scanf("%d",&n);
for(i=0;i<n;++i)
{
scanf("%d%d%d",&now[i].y,&now[i].m,&now[i].d);
}
for(i=0;i<n;++i)
{
day=days(start,now[i]);
if(day%5<3)
printf("He was fishing on %d %d %d\n",now[i].y,now[i].m,now[i].d);
else
printf("He was basking on %d %d %d\n",now[i].y,now[i].m,now[i].d);
}
return 0;
}

⑷ C语言“三天打鱼两天晒网”问题

根据题意可以将解题过程分为三步:

1、计算从1990年1月1日开始至指定日期共有多少天;

2、由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除;

3、根据余数判断他是在“打鱼”还是在“晒网”;若余数为1,2,3,则他是在“打鱼”;否则是在“晒网”。

#include<stdio.h>

/*定义日期结构体*/
typedefstructdate{
intyear;
intmonth;
intday;
}DATE;

/*判断是否为闰年,是返回1,否返回0*/
intisLeap(intyear){
return((year%4==0&&year%100!=0)||(year%400==0));
}

/*计算指定日期距离1990年1月1日的天数*/
intcountDay(DATEcurrentDay){
intperMonth[13]={0,31,28,31,30,31,30,31,31,30,31,30};/*每月天数数组*/
inttotalDay=0,year,i;

/*求出指定日期之前的每一年的天数累加和*/
for(year=1990;year<currentDay.year;year++){
if(isLeap(year))/*判断是否为闰年*/
totalDay=totalDay+366;
else
大轮totalDay=totalDay+365;
}
/*如果为闰年,则二月份为29天*/
if(isLeap(currentDay.year))
perMonth[2]+=1;
/*将本年内的天数累加到袜仿埋totalDay中*/
for(i=0;i<currentDay.month;i++)
totalDay+=perMonth[i];
/*将本月内的天数累加到totalDay中*/
totalDay+=currentDay.day;
/*返回totalDay*/
returntotalDay;
}

intmain(void){
DATEtoday;/*指定日期*/
inttotalDay;/*指定日期距离1990年1月1日的天数*/
intresult;/*totalDay对5取余的结果*/
interror;

do{/*输入指定日期*/
printf("Pleaseinputtheyear/month/day: ");
scanf("%d/%d/%d",&today.year,&today.month,&today.day);
printf(" ");
error=0;
if(today.year<1990)/*判断日期格式是否正确*/
{printf("Theyearshouldbelargerthan1990! ");error=1;}
if(today.month<1||today.month>12)
{printf("Themonthinputiserror! ");error=1;}
if(today.day<0||today.day>31)
{printf("Thedayinputiserror! ");error=1;}
printf("====================================================== ");
}while(error);

totalDay=countDay(today);/*求出指定日期距离1990年1月1日的天数*/
/*天数%5,判断输出打鱼还是晒网*/
result=totalDay%5;
if(result>0&&result<4)
告蚂printf("fishing! ");
else
printf("sleeping! ");
printf(" ");
return0;
}

运行结果

1991/10/25,打渔

⑸ c语言 某人从1990年1月1日起开始“三天打鱼两天嗮网”,问某一年某一天,该人是在打鱼还是在嗮网。

楼上的太复杂了,如下即可(C语言):

#include<time.h>
#include<stdio.h>
intmain(intargc,char*段漏argv[])
{
//t1为1990年1月1日
structtmt1={0,0,0,1,0,90,0,0,0},t2=握升烂{0};
printf("Pleaseinputyearmonthday:");
scanf("%d%d%d",&t2.tm_year,&t2.tm_mon,&笑碧t2.tm_mday);
//生成tm结构数据
t2.tm_year-=1900;
t2.tm_mon-=1;

//相差秒数
longseconds=(long)(difftime(mktime(&t2),mktime(&t1)));
//相差天数
longdays=(seconds+86399)/86400;
if(days%5<=2)
printf("打鱼 ");
else
printf("晒网 ");

return0;
}

⑹ 关于C语言经典程序“打渔晒网”

楼主你好!!!俺仔细的看了一下程序代码,代码没有错误!!!!

俺解释一下(就针对与楼主的问题);

1.for(i=1;i<day.month;i++)这个for()语句没有错误,这句确实只算了11个月的,但前面的term.day=31;给了补上!!!原因是无论那一年,1月和12月都是31天,所以楼主先把1月和12月的算在一起啦!!!这也正是楼主第二个疑问的所在!!!

如果楼主不信的话!!!可以把每棚拿一年的打印出啦,看看是不是365/366

要是少算一个月的话,那一定不是365/365;

修改如下:

#include<stdio.h>

#include<iostream.h>

structdate

{

intyear;

intmonth;

intday;

};

intdays(structdateday)

{

staticintday_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,},

};

inti,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日起的天数*/

day.day+=day_tab[lp][i];

cout<<day.day<<endl;

returnday.day;

}

voidmain()

{

structdatetoday,term;

intyearday,year,day;

printf("Enteryear/month/day:");

scanf("%d%d%d",&today.year,&today.month,&today.day);/*输入日期*/

term.month=12;/*设置变量的初始值:月*/

term.day=31;/*设置变量的初始值:日*/

//注意这里哈

for(yearday=0,year=1990;year<today.year;year++)

{

term.year=year;

链孙搭yearday+=days(term);/*计算从1990年至指定年的前一年共有多少天*/

}

yearday+=days(today);/*加上指定年中到指定日期的天数*/

day=yearday%5;凯或/*求余数*/

if(day>0&&day<4)

printf("hewasfishingatthatday. ");/*打印结果*/

else

printf("Hewassleepingatthatday. ");

}

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:336
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:379
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:613
java用什么软件写 发布:2025-05-18 03:56:19 浏览:32
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:945
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:742
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:803
网卡访问 发布:2025-05-18 03:35:04 浏览:511
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:372