日期题目集
#include stdio.h #include stdbool.h #include string.h // 题目给出的数组 int arr[100] { 5,6,8,6,9,1,6,1,2,4,9,1,9,8,2,3,6,4,7,7,5,9,5,0,3,8,7,5,8,1,5,8,6,1, 8,3,0,3,7,9,2, 7,0,5,8,8,5,7,0,9,9,1,9,4,4,6,8,6,3,3,8,5,1,6,3,4,6,7,0,7,8,2,7,6,8, 9,5,6,5,6,1,4,0,1, 0,0,9,4,8,0,9,1,2,8,5,0,2,5,3,3 }; // 判断date_str是否是arr的子序列 bool is_subsequence(const char *date_str) { int i 0; // 数组下标 int j 0; // 字符串下标 int len strlen(date_str); while (i 100 j len) { if (arr[i] (date_str[j] - 0)) { j; } i; } return j len; } int main() { // 2023年各月天数 int days_in_month[] {31,28,31,30,31,30,31,31,30,31,30,31}; int count 0; char date_str[9]; // 2023mmdd\0 for (int month 1; month 12; month) { for (int day 1; day days_in_month[month-1]; day) { // 格式化为 2023mmdd sprintf(date_str, 2023%02d%02d, month, day); if (is_subsequence(date_str)) { count; } } } printf(符合条件的不同日期数量%d\n, count); return 0; }#include stdio.h #include stdlib.h int main(int argc, char *argv[]) { int month_day[]{31,28,31,30,31,30,31,31,30,31,30,31}; int total_days1; int cnt0; for(int month0;month12;month) { total_daysmonth_day[month]; } for(int year1901;year2000;year) { if(year%4000||(year%40year%100!0)) month_day[1]29; for(int month0;month12;month) { int weekdaytotal_days%7; if(weekday0) cnt; total_daysmonth_day[month]; } } printf(%d,cnt); return 0; }#include stdio.h #include stdlib.h int main(int argc, char *argv[]) { int month_day[]{31,28,31,30,31,30,31,31,30,31,30,31}; int total_day6; int cnt0; for(int month0;month12;month) { for(int day1;daymonth_day[month];day) { int weekdaytotal_day%7; if(day1||day11||day21||day31||weekday6||weekday0) cnt; total_day; } } printf(%d,cnt); return 0; }#include stdio.h #include stdlib.h #include string.h int month_day[]{31,28,31,30,31,30,31,31,30,31,30,31}; int num[]{13,1,2,3,5,4,4,2,2,2}; int sum(const char *data) { int a[10]; int total0; for(int i0;i8;i) { a[i]data[i]-0; totalnum[a[i]]; } return total; } int main(int argc, char *argv[]) { int cnt0; char data[10]; for(int year2000;year2024;year) { if(year%4000||(year%40year%100!0)) month_day[1]29; else month_day[1]28; for(int month1;month12;month) { int maxmonth_day[month-1]; if(year2024month4) max13; for(int day1;daymax;day) { sprintf(data,%04d%02d%02d,year,month,day); int totalsum(data); if(total50) cnt; } if(year2024month4) break; } } printf(%d,cnt); return 0; }#include stdio.h #include stdlib.h #include string.h int check(int num) { while(num0) { if(num%101) return 1; num/10; } return 0; } int main(int argc, char *argv[]) { int month_day[]{0,31,28,31,30,31,30,31,31,30,31,30,31}; int sum0; int weekday0; for(int month1;month12;month) { for(int day1;daymonth_day[month];day) { int xcheck(month); int ycheck(day); int z(weekday1); if(x||y||z) sum5; else sum1; weekday(weekday1)%7; } } printf(%d,sum); return 0; }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2432587.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!