8月28日作业

第一题:编程实现:如果用户名等于字符“青”,且密码等于数字123,则输出“欢迎你”;否则输出“对不起,你不是青”。 答案:第二题:第二题:编程实现:如果年龄满七岁,或者年龄满五岁并且性别是男,就可以搬动桌子。 答案:第三题:画出流程图并编程实现:从键盘上输入三个整数,分别斌给整型变量a,b,c,然后将输入的整数按从小到大的顺序房主变量a,b,c中并输出3个变量的值。 答案: 第四题...
摘要由CSDN通过智能技术生成

第一题:编程实现:如果用户名等于字符“青”,且密码等于数字123,则输出“欢迎你”;否则输出“对不起,你不是青”。
答案:这里写图片描述

第二题:第二题:编程实现:如果年龄满七岁,或者年龄满五岁并且性别是男,就可以搬动桌子。
答案:这里写图片描述

第三题:画出流程图并编程实现:从键盘上输入三个整数,分别斌给整型变量a,b,c,然后将输入的整数按从小到大的顺序房主变量a,b,c中并输出3个变量的值。
答案:这里写图片描述
第四题:画出流程图并编程实现:从键盘上输入一个整数,判断是否能被3或者5整除。如果能,则输出“该整数是3或5的倍数。”,否则则输出“该数不能被3或5中的任何一个数整除。
答案:这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个相对复杂的大作业,需要涉及到公历、农历的计算和转换。下面是一个简单的实现思路: 1. 首先需要实现公历相关的计算,包括判断某一年是否为闰年、计算某一年某一的天数、计算某一是该年的第几天等。 2. 接下来需要实现农历相关的计算,包括农历年份的计算、农历份的计算、农历期的计算等。这部分可以使用已有的算法或者库函数进行计算。 3. 实现万年历的显示,可以使用控制台输出或者GUI界面显示。在显示时需要注意公历和农历的转换,并且需要考虑到节气、节等特殊情况的显示。 下面是一个简单的代码示例,实现了基本的公历和农历转换和万年历显示: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define MIN_YEAR 1900 #define MAX_YEAR 2100 // 公历计算相关函数 int is_leap_year(int year); int days_of_month(int year, int month); int days_of_year(int year, int month, int day); // 农历计算相关函数 int lunar_year(int year); int lunar_month(int year, int month, int day); int lunar_day(int year, int month, int day); char* lunar_month_name(int month); // 万年历显示函数 void print_calendar(int year, int month, int day); int main() { int year, month, day; // 获取当前时间 time_t t = time(NULL); struct tm* tm = localtime(&t); year = tm->tm_year + 1900; month = tm->tm_mon + 1; day = tm->tm_mday; // 显示万年历 print_calendar(year, month, day); return 0; } int is_leap_year(int year) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { return 1; } return 0; } int days_of_month(int year, int month) { int days; switch (month) { case 2: days = is_leap_year(year) ? 29 : 28; break; case 4: case 6: case 9: case 11: days = 30; break; default: days = 31; break; } return days; } int days_of_year(int year, int month, int day) { int days = day; for (int i = 1; i < month; i++) { days += days_of_month(year, i); } return days; } int lunar_year(int year) { int lunar_year = 0; int delta = year - MIN_YEAR; int leap_years = delta / 4 - delta / 100 + delta / 400; lunar_year = delta * 365 + leap_years; return lunar_year; } int lunar_month(int year, int month, int day) { int lunar_month = 0; int days = days_of_year(year, month, day); for (int i = 1; i <= 12; i++) { int leap = ((i == 2 && is_leap_year(year)) ? 1 : 0); if (days <= (29 + leap)) { lunar_month = i; break; } days -= (29 + leap); } return lunar_month; } int lunar_day(int year, int month, int day) { int lunar_day = 0; int days = days_of_year(year, month, day); int leap_month = lunar_month(year, month, day); for (int i = 1; i <= days; i++) { lunar_day++; if (lunar_day > 29 + ((leap_month == 2 && is_leap_year(year)) ? 1 : 0)) { lunar_day = 1; leap_month = (leap_month == 12) ? 1 : leap_month + 1; } } return lunar_day; } char* lunar_month_name(int month) { char* name = ""; switch (month) { case 1: name = "正"; break; case 2: name = "二"; break; case 3: name = "三"; break; case 4: name = "四"; break; case 5: name = "五"; break; case 6: name = "六"; break; case 7: name = "七"; break; case 8: name = "八"; break; case 9: name = "九"; break; case 10: name = "十"; break; case 11: name = "冬"; break; case 12: name = "腊"; break; } return name; } void print_calendar(int year, int month, int day) { printf("公历:%d年%d%d\n", year, month, day); int lunar_y = (lunar_year(year) + days_of_year(year, month, day) - 1) / 29.5; int lunar_m = lunar_month(year, month, day); int lunar_d = lunar_day(year, month, day); printf("农历:%d年%s%d\n", lunar_y, lunar_month_name(lunar_m), lunar_d); // TODO: 万年历显示 } ``` 在上面的代码中,我们实现了公历和农历的转换,并且可以输出基本的公历和农历信息。下一步需要实现万年历的显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值