当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

用C语言写一个函数给出年月日计算该日是该年的第几天

更新:01-06 整理:39baobao.com
字体:

[C语言简单的函数嵌套调用] 我运行的没有问题,但是你说的有问题可能是编译器的问题吧!你的编译器默认包含了time.h 那里面有一个time();的库函数!跟你的time函数重名了!你把你的time换个名字试试!如果还有问...+阅读

//说明:你的程序存在几个语法错误,1、find(x,y,z)应改成find(int x,int y,int z)函数的定义语法;2、//int find(x,y,z);此处声明多余了,因为函数是在前面定义的,就无需再声明了,而且声明语法不对,应为find(int x,int y,int z);要加分号。3、格式控制符号用错了,应该是没有“,”的scanf("%d%d%d",&year,&month,&date);即在%d%d之间没有逗号;//另外我也编了一个仅供参考,编译成功的,在后面。

//此为我对你的代码的改正,都做了注释说明。

#include

int x,y,z;

int find(int x,int y,int z)//find(x,y,z)应改成find(int x,int y,int z)

{int i,t,s,days=0;

if(x%4==0)t=1;

else t=0;

for(i=1;i

{if(i==2)s=2-t;

else s=0;

days=days+30+i%2-s;

}

days=days+z;

return(days);

}

void main()

{//int find(x,y,z);此处声明多余了,因为函数是在前面定义的,就无需再声明了

int year,month,date,day;

scanf("%d%d%d",&year,&month,&date);//格式控制符号用错了,应该是没有“,”的

day=find(year,month,date);

printf("THE DATE IS THE %dth DAYS\n",day);

}

//另外我也编了一个仅供参考,编译成功的

#include

void main()

{

int year,month,day,sum;

scanf("%d%d%d",&year,&month,&day);

int p(int year);

int monday(int m);

int find(int y,int m,int d);

sum=find(year,month,day);

printf("THE DATE IS THE %dth DAYS\n",sum);

}

int p(int year){//判断是否为闰年

int leap;

if((year%4==0&year%100!=0)||(year%400==0)) leap=1;

else leap=0;

return leap;

}

int mon_day(int y,int m){//判断月份的日子总数

int num;

switch (m)

{ case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:num=31;break;

case 4:

case 6:

case 9:

case 11:num=30;break;

case 2:{if (y&(m=2)) num=29;

else num=28;

}break;

}

return num;

}

int find(int y,int m,int d){//计算日子,用遍历的方法,因为每个月份的天数是不同的,闰年时2月天数也不同

int sum=d;

while (m>1){

m=m-1;

sum=sum+mon_day(y,m);}

return sum;

}

本文地址:https://www.39baobao.com/show/29_23755.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

用C语言函数嵌套创建一个函数求2 100的质数和#include<stdio.h> int isprime(int num){ if(num<2)return 0; else if(num==2) return 1; int bound = num,i=2; while(i<=bound){ if(num%i == 0)return 0; bound = num/i...

c语言函数嵌套:编写一个字符串逆序存放的函数 reverse并由主函调用#include <stdio.h> #include <string.h> #define N 50 int reverse (char a[]) { int len, i; len= strlen(a); for(i=len-1;i>=0;i--) { printf("%c",a[i]); } } int main()...

C语言函数嵌套调用#include <stdio.h> void show(int s) { printf("a+b = %d",s); return; } void add(int a, int b) { int s = a + b ; show(s); return; } int main() { int a = 1, b= 2; ad...

C语言函数嵌套问题在C语言中,所有的函数定义,包括主函数main在内,都是平行的。也就是说,在一个函数函数体内, 不能再定义另一个函数, 即不能嵌套定义. 在例子中,没有嵌套定义的. int max(int a,int...

4利用函数的嵌套调用实现三个整数的求和#include<stdio.h> void math(int x, int y, int z) { printf("三个整数的和为: %d\n", x+y+z); } int main() { int x,y,z; scanf("%d %d %d",&x,&y,&z); math(x,y,z); getchar();...

C语言编写一个嵌套函数计算组合数#include<stdio.h> int c(int n,int m){ int i,s=1; for(i=m;i>=m-n+1;i--)s*=i; for(i=n;i>=2;i--)s/=i; return s;} int f(int k,int m,int n){ int i,s=0; for(i=k;i<=k+...

C语言函数嵌套#include <stdio.h> void b() { printf("Hello World!\n"); } void a() { b(); } void main () { a(); } 这样就OK了,只要遵循一个原则,函数在被调用前必须是已经声明过的。因为...

C语言编写days函数计算该日是该年的第几天怎么做#include<stdio.h> int days(int y,int m,int d) {int i,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; if(y<1||m<1||d<1||d>a[m]+(y%4==0&y%100>0||y%400==0)) {printf...

C语言编写days函数计算该日是该年的第几天/*临时写的*/ #include int days(int year, int month, int day) ;/*声明函数原型*/ int main() { int year, month, day ; /*year,month,day分别表示年、月、日*/ int total...