7-6 sdut- C语言实验-数日子

时间如白驹过隙,大一的时光也是转眼就结束,因此要抓住每一寸光阴提升自己。你知道今天是这一年第几天吗,掐指一算还是要算好久,呵呵还是让计算机来做吧。这里的问题就是让你来写一个程序,输入某年某月某日,判断这一天是这一年的第几天?

输入格式:

输入第一行是数据的组数n<100,下面n行是n组数据,每组数据由3个正整数组成,分别为年、月、日,我们保证每组数据都是有效的日期。

输出格式:

输出所输入的日期是这一年的第几天。

样例">输入样例:

2
2009 1 1
2008 1 3

输出样例:

1
3

 答案示例(这一种答案并不精简)

是自己想出来的,后面有优化的版本

#include<stdio.h>
int main ()
{int n,x,y,z,m,i,j;int a[12]={31,29,31,30,31,30,31,31,30,31,30,31};int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};scanf("%d",&n);for(i=0;i<n;i++){scanf("%d %d %d",&x,&y,&z);int m=0;if(x%4==0){    for(j=0;j<y-1;j++)m=m+a[j];}else{for(j=0;j<y-1;j++)m=m+b[j];}printf("%d\n",m+z);}return 0;
}

有注释

#include<stdio.h>
int main ()
{int n,x,y,z,m,i,j;int a[12]={31,29,31,30,31,30,31,31,30,31,30,31};//区分闰年和平年,建立了两个数组int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};//其实直接改变数组中的第二个数据即可,用一个if判断scanf("%d",&n);//输入第一行for(i=0;i<n;i++)//for循环控制输出{scanf("%d %d %d",&x,&y,&z);//输入数据int m=0;if(x%4==0)//润年{    for(j=0;j<y-1;j++)m=m+a[j];}else//平年{for(j=0;j<y-1;j++)m=m+b[j];}printf("%d\n",m+z);}return 0;
}

答案示例2(精简版 )

#include<stdio.h>
int main ()
{int n,m,i,j;int x,y,z;int a[12]={31,29,31,30,31,30,31,31,30,31,30,31};scanf("%d",&n);for(i=0;i<n;i++){    int m=0;scanf("%d %d %d",&x,&y,&z);if((x%4==0&&x%100!=0)||(x%400==0))a[1]=29;elsea[1]=28;for(j=0;j<y-1;j++)m+=a[j];printf("%d\n",m+z);}return 0;
}

【实验五 一维数组】7-6 sdut- C语言实验-数日子相关推荐

  1. 2022山东理工大学pta程序设计---实验五(一维数组)代码

    7-1 sdut- C语言实验-最值 有一个长度为n的整数序列,其中最大值和最小值不会出现在序列的第一和最后一个位置. 请写一个程序,把序列中的最小值与第一个数交换,最大值与最后一个数交换.输出转换好 ...

  2. 【实验五 一维数组】7-10 sdut-C语言实验-排序问题

    7-10 sdut-C语言实验-排序问题 分数 15 全屏浏览题目 切换布局 作者 马新娟 单位 山东理工大学 输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置. 输入格 ...

  3. 【实验五 一维数组】7-11 sdut-C语言实验- 数列有序!

    7-10 sdut-C语言实验-排序问题 分数 15 全屏浏览题目 切换布局 作者 马新娟 单位 山东理工大学 输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置. 输入格 ...

  4. 【实验五 一维数组】7-3 sdut-C语言实验-区间之和

    7-3 sdut-C语言实验-区间之和 给定一个由 n 个整数组成的序列A1,A2,--, An 和两个整数L,R,你的任务是写一个程序来计算序列号在L,R 这段位置区间内所有数的总和. 输入格式: ...

  5. 【实验五 一维数组】7-2 sdut-C语言实验-整数位

    7-2 sdut-C语言实验-整数位 输入一个不多于5位的正整数,要求: (1)求出它是几位数://一个计数循环 (2)分别输出每一位数字://正序输出各位数字 (3)按逆序输出各位数字.//逆序输出 ...

  6. 【实验五 一维数组】7-9 sdut-C语言实验- 排序

    7-9 sdut-C语言实验- 排序 分数 16 全屏浏览题目 切换布局 作者 马新娟 单位 山东理工大学 给你N(N<=100)个数,请你按照从小到大的顺序输出. 输入格式: 输入数据第一行是 ...

  7. 2022山东理工大学pta程序设计---实验五(一维数组)详解

    ·## 7-1 sdut- C语言实验-最值 有一个长度为n的整数序列,其中最大值和最小值不会出现在序列的第一和最后一个位置. 请写一个程序,把序列中的最小值与第一个数交换,最大值与最后一个数交换.输 ...

  8. 【实验五 一维数组】7-7 去掉重复的数据

    7-7 去掉重复的数据 在一大堆数据中找出重复的是一件经常要做的事情.现在,我们要处理许多整数,在这些整数中,可能存在重复的数据. 你要写一个程序来做这件事情,读入数据,检查是否有重复的数据.如果有, ...

  9. c语言实验报告5数组,c语言实验报告五一维数组.doc

    c语言实验报告五一维数组 <C程序设计>课程实验报告 学院: 班级: 姓名: 学号: 实验设备:计算机1台2011年3月1日 实验项目名称一维数组 掌握一维数组的定义.初始化,以及一维数组 ...

最新文章

  1. emwin之基于某个事件或标志创建某个界面的一种方法
  2. linux 自启动程序 优先级,Linux自启动服务优先级/顺序设置
  3. html屏幕垂直居中显示,HTML+CSS,让div在屏幕中居中(水平居中+垂直居中)方法总结...
  4. 基于 HTTP 协议的几种实时数据获取技术
  5. python数据库教程_Python连接mysql数据库及简单增删改查操作示例代码
  6. 大疆口袋相机美颜怎么设置_大疆口袋小相机DJI Pocket 2套装版深度评测:变成生产力工具...
  7. vue 分模块打包 脚手架_Vue面试官最爱的底层源码问题,你可以这样回答!
  8. 关于BigInteger的加减乘除使用
  9. java模拟数据库压测_Jeecgboot Feign、分布式压测、分布式任务调度
  10. php比较价格变化,转换价格变化 - php
  11. 如何使用 Python 构建 PC 通信?
  12. Win10环境下初始化MySQL
  13. VirtualBox虚拟机安装Windows XP
  14. UMLChina公众号文章精选(20220602更新精选)
  15. 在div中加本地html,div加载另一个HTML页面
  16. MBA-day21 假言推理-练习题
  17. IDEA中Resource Bundle ‘application‘
  18. 习题9-3 平面向量加法 (15 分)
  19. HashMap为什么用红黑树而不用跳表?redis的zset为什么用跳表而不用红黑树?
  20. 汽车外饰360vr实景展示有哪些应用场景?

热门文章

  1. 你知道的企业文化理念有哪些?
  2. python 转换文本从繁体到简体,但保留一切繁体符号
  3. Python v / s PHP:2019年选择哪种编程语言?
  4. 职场PUA:为什么你就不能逼自己一把呢?
  5. Web代理(HTTP代理)
  6. 大脑小胶质细胞“隐藏技能”被发现
  7. 麒麟信安操作系统:挖掘场景,与云俱进 ——携手openEuler赋能关键行业应用
  8. 1750. 救生员 Lifeguards S
  9. 大数据技术_ 基础理论 之 大数据概念与应用
  10. 如何把word中的多级编号中的题注“图一.1”自动变成“图1.1”