一个C语言编程题目“输入某年某月某日,判断这一天是这一年的第几天?”

作者&投稿:雀鱼 (若有异议请与网页底部的电邮联系)
求C语言题目答案——输入某年某月某日,判断这一天是这一年的第几天?~

#include /* 此头函数请不要删除 */

#include
int main()
{
int days[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,j,k,y,m,d,b,n,sum;
while(scanf("%d/%d/%d",&y,&m,&d)!=EOF)/*日期输入格式:2010/6/9*/
{
sum=0;
for(i=1;i<m;i++)
sum=sum+days[i];
sum=sum+d;
if((y%4==0||(y%400==0&&y%100!=0)) &&m>2)
sum=sum+1;
printf("%d
",sum);
}
return 0;


getch(); /* 此语句请不要删除*/
}

简易流程图:
开始
建立数组存放12个月的各个天数
从键盘输入日期例如:1996/3/1
对输入月份以前的所有月的天数累加——sum
再加上输入的天数
判断是否为闰年
如果是 sum+1
如果不是 sum保持不变
输出“一年的第几天”
结束

#include&lt;stdio.h&gt;

//输入某年某月某日,判断这一天是这一年的第几天?

int getDaysByMonth(int m,int d,char flag)

{

int c;

if(flag=='r'){//闰年

if(m==2){//2月是29天

return(31+d);

}else if(m&gt;2){

c=0;

m=m-1;

for(;m&gt;0;m--)

{

if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){

c+=31;

}else if(m==2){

c+=29;

}else{

c+=30;

}

}

return c+d;

}else{

return d;

}

}else{//平年

if(m==2){//2月是28天

return(31+d);

}else if(m&gt;2){

c=0;

m=m-1;

for(;m&gt;0;m--)

{

if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){

c+=31;

}else if(m==2){

c+=28;

}else{

c+=30;

}

}

return c+d;

}else{

return d;

}

}

}

void main()

{

int y,m,d,count=1;

printf("请输入年月日(例如2017-01-01):");

scanf("%d-%d-%d",&y,&m,&d);

while(((((y%4==0&&y%100!=0)||(y%400==0))&&(m==2))&&d&gt;29)||

(y%400!=0&&y%4!=0&&m==2&&d&gt;28)||

((m==1||m==3||m==5||m==7||m==8||m==10||m==12)&&d&gt;31)||

((m==4||m==6||m==9||m==11)&&d&gt;30)){

printf("请输入年月日(例如2017-01-01):");

scanf("%d-%d-%d",&y,&m,&d);

}

//先判断是否为闰年

if((y%4==0&&y%100!=0)||(y%400==0)){//闰年

count=getDaysByMonth(m,d,'r');

}else{//平年

count=getDaysByMonth(m,d,'n');

}

printf("%d-%02d-%02d是今年的第%d天
",y,m,d,count);

putchar('
');

}

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include&lt;文件名&gt;

2、#include"文件名"

如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:

#include&lt;math.h&gt;//一些数学函数的原型,以及相关的类型和宏

如果需要包含针对程序所开发的源文件,则应该使用第二种格式。

采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:

#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏

可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。

【例1】在#include命令中的宏

#ifdef _DEBUG_

#define MY_HEADER"myProject_dbg.h"

#else

#define MY_HEADER"myProject.h"

#endif

#include MY_HEADER

当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。



瑞年判断,可以被4整数,但是不能白400整数的就是瑞年
%400就是判断能不能整数400
||是逻辑或
或者的意思
还有不懂吗,直接问我好了,现在空

#include<stdio.h> #include<conio.h> int main() { int year,month,day; int days; scanf("%d%d%d",&year,&month,&day); switch(month) { case 1 : days=day;break; case 2 : days=day+31;break; case 3 : days=day+31+28; break; case 4 : days=day+31+28+31; break; case 5 : days=day+31+28+30+31; break; case 6 : days=day+31+28+30+31+31; break; case 7 : days=day+31+28+30+31+30+31; break; case 8 : days=day+31+28+30+31+30+31+31; break; case 9 : days=day+31+28+30+31+30+31+31+31; break; case 10 : days=day+31+28+30+31+30+31+31+30+31; break; case 11 : days=day+31+28+30+31+30+31+31+30+31+31; break; case 12 : days=day+31+28+30+31+30+31+31+30+31+30+31; break; } if( year%4==0&&year%100!=0||year%400==0) { printf("leap=1"); days = days + 1; } else { printf("leap=0"); days=days; } printf("这是这一年的第%d天\n",days); system("pause"); return 0; }

你变量都没有定义
麻烦采纳,谢谢!


C语言编程题目
下面是一些C编程题目:1. 编写程序,从键盘输入两个整数,输出它们的和、差、积、商、余数。2. 编写程序,从键盘输入三角形的三条边长,判断它们是否可以构成三角形,并输出三角形的类型(等边、等腰、一般)。3. 编写程序,从键盘输入字符串,统计其中的大写字母、小写字母、数字和其他字符的个数,并...

c语言编程100题,有没有大神帮帮忙
您好,c语言经典100题:【程序1】题目:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数 都是多少 1.程序分析:可填在百位,十位,个位的数字都是1,2,3,4.组成所有的排列后再去 掉不满足条件的排列.2.程序源代码:main(){ int i,j,k;printf("\\n");for(i1;i<5;i++)\/*以...

c语言编程题目求解
} 题目2:c include<stdio.h> include<math.h> int is_prime(int num){ int i;for(i=2; i<=sqrt(num); i++){ if(num%i == 0){ return 0;} } return 1;} int main(){ int num;printf("请输入一个整数:\\n");scanf("%d", &num);if(is_prime(num)){ printf("%d是素...

c语言编程题经典题目?
编写一个程序,输入一个正整数,输出其各位数字的和。编写一个程序,求出一个数组中的最大值和最小值。编写一个程序,从键盘输入一个字符串,判断该字符串是否为回文字符串。编写一个程序,实现二分查找算法。编写一个程序,实现快速排序算法。这些题目涵盖了常见的算法和数据结构,对于提高编程能力和解...

C语言编程题,急求,(要求用C语言编写)(题目二选一)
这是我的期末考试实践题目,急求题目1 简易计算器1、系统功能描述设计一款简易计算器,要求实现的功能包括:加、减、乘、除基本运算。2、基本要求a、采用结构化的设计思想,编写多个函数分别实现上述各功能,而后在main函数中进行调用。b、本系统要提供功能菜单题目2 学生成绩管理系统编程实现学生成绩管理系统。该系统提供功...

C语言编程问题求解答
9题:include <stdio.h>int main(){int N=1;scanf("%d",&N);if(N<=0){N=1;}int numSpaceFirst=N-1;for(int row=0; row<N; row++,numSpaceFirst--){for(int i=0; i<numSpaceFirst; i++){printf(" ");}for(int i=0; i<2*row-1; i++){printf("*");}printf("\\n...

C语言编程题目:输入一个三位数,输出各个数位上的数字及它们的和。_百度...
printf("它们的和是:%d\\n",b+c+d);} C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言...

c语言程序设计试题
c语言程序设计试题 阐述编程语言的概念,学习进制转换以及程序的基本运行原理,让大家先有一个整体上的认识。下面是我整理的关于c语言程序设计基础知识,希望大家认真阅读!【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位...

C语言编程题目三道
include<stdio.h>void cal(int n1,int n2,char f);int main(){ int n1,n2; char f; printf("分别输入两个小于100整数及一个运算符号:\\n"); scanf("%d%d",&n1,&n2); getchar(); scanf("%c",&f); cal(n1,n2,f); return 0;}void cal(int n1,int ...

C语言题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。
void main(){ int m,i,s;for(m=1;m<=1000;m++) \/\/从1开始到1000循环结束 { s=0;\/\/初始化因子之和s为0 for(i=1;i<m;i++) \/\/寻找在1到m之间,有多少m的因子 if(m%i==0) \/\/如果m能整除i,则i为m的因子 s=s+i;\/\/将因子累加 if(s==m) \/\/如果因子之和等于这个数 pr...

喀喇沁旗18645752389: C语言编程:输入某年某月某日判断这一天是一年的第几天的程序是是什么? -
尹菁三黄: #include <stdio.h>//返回指定年月日是对应年度的第几天 int getDays(int month,int day); int isRunnian(int year);int main(int argc,char* argv[]) { int year=0; int month=0; int day=0;printf("请输入年月日格式示例20140101\n"); scanf("%4d%2d...

喀喇沁旗18645752389: C语言程序设计:输入某年某月输出某月有多少天? -
尹菁三黄: #include <stdio.h> void main() {int year ,month;int month_day(int year,int month);printf("输入年份:");scanf("%d",&year);printf("输入月份:");scanf("%d",&month);printf("%d年%d月有%d天",year,month,month_day(...

喀喇沁旗18645752389: C语言编程:输入某年某月某日,判断这一天是这一年的第几天? -
尹菁三黄: 可以使用数组,并且使用数组代码更简洁一些,参考代码如下: #include int main() { int i, days = 0; int year, month, day; int day_tab[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; printf("输入年、月、日,用空格隔开:"); scanf("%...

喀喇沁旗18645752389: C语言编程问题:输入某年某月某日,判断这一天是一年的第几天,大神帮我看看哪里不对 -
尹菁三黄: 给你提供一个你对照看——1 2 3 4 5 6 7 8 9 10 11 12 13#include "stdio.h" intmain(intargc,char*argv[]){intmon[12]={31,28,31,30,31,30,31,31,30,31,30,31},y,m,d;printf("Please enter y, m, d(int >0)...\n");if(scanf("%d%d%d",&y,&m,&d)!...

喀喇沁旗18645752389: 求C语言题目答案——输入某年某月某日,判断这一天是这一年的第几天?程序运行的流程图 -
尹菁三黄: 流程图不方便画,对此程序,给你简单分析下它的思考方式,相信你会看明白的. 输入某年某月某日,判断这一天是这一年的第几天?那么需要考虑三个变量,年,月,日. 首先,年主要要考虑的因素是否是闰年的问题.月要考虑的是那一个月的问题.因为不同月的天数不一样.日嘛,就不用说了. 还有就是,月份是一月或者二月,那么就不需要考虑是否闰年的问题,因为不需要计算二月总共多少天. 上述程序,首先是在默认闰年的情况下计算某月前面所有月的天数和,然后加上当月的零头天数,最后才是判断当月是否大于二月,如果大于二月,那么必须考虑闰年的问题,再接着判断是否闰年,如果非闰年总天数减一,是闰年不变,因为在开始计算的过程中时默认闰年的. 回答完毕.

喀喇沁旗18645752389: 求c语音代码 1 编程实现输入某年某月某日,判断这一天是这一年的第几天.提示:以5月1日为例,应该 -
尹菁三黄: main() { int y,m,d,mm=0,t=0,s=0; printf("请输入年月日"\n"); scanf("%d%d%d",&y,&m,&d); if((y%4==0)&&(y%100!=0)||(y%400==0)) t=1; switch(m-1) {case 11:mm+=30; case 10:mm+=31; case 9:mm+=30; case 8:mm+=31; case 7:mm+=31;...

喀喇沁旗18645752389: c语言题目 要求用结构体做 输入某年月,判断这个月有多少天? -
尹菁三黄: 很简单吧,把日期设置成结构体,里面就两个变量一个year,一个month,然后加个一个判断函数也放在结构体里,接受年月这两个参数,一个if判断是否闰年,另一个switch判断月份,然后printf就可以了

喀喇沁旗18645752389: C语言 下面这道题怎么做,用C语言输入某年某月某日判断这一天是这一年的第几天 求解 谢谢
尹菁三黄: 将就这看看吧,累人的活 void main() {int year,month,day,sum,leap,flag=1; printf("inpur year,month,day:"); scanf("%d,%d,%d",&year,&month,&day); if (month==1) sum=0; else if (month==2) sum=31; else if (month==3) sum=59; else if (month==...

喀喇沁旗18645752389: 用C语言编写:输入某年某月某日,判断这一天是这一年的第几天?
尹菁三黄:main() { int n,year,month,day,month_day_sum=0,sum, month_day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; printf("please input the \"year month day\"\n"); scanf("%d%d%d",&year,&month,&day); if(year%100!=0&&year%4==0||year%...

喀喇沁旗18645752389: 用C语言输入某年某月某日判断这一天是这一年的第几天 -
尹菁三黄: //主要功能是实现了 #include<stdio.h> struct date { int y,m,d; }; int fun(struct date *p) { int a=0; switch(p->m) {case 12:a+=30;//加上11月份的天数 case 11:a+=31;//加上10月份的天数,以下依次类推 case 10:a+=30; case 9:a+=31; case 8:a+=31; ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网