怎么用C语言编写这个程序,求指教

本题要求编写程序计算某年某月某日是该年中的第几天。

输入格式:

输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

输出格式:

在一行输出日期是该年中的第几天。

输入样例1:
2009/03/02

输出样例1:
61

输入样例2:
2000/03/02

输出样例2:
62

网上一搜有很多,c语言教材里也几乎都援引了这个经典的闰年题目~你还是百度一下吧~

最近在研究NDK,我还是试着帮你写一个吧

最近在研究NDK,我还是试着帮你写一个吧

 #include <stdio.h>

static int pow(int m, int n) // m^n
{
    int result=1;

    while(n--) result*=m;    
    return result;
}

int str2digital(const char *str)
{
    int  i = 0,j;
    const char *ptr = str;
    char temp[5];
    int  digt = 0;

    while( *ptr != '\0') {
        temp[i++] = *ptr++ - '0';
    }

    for (j = 0; j < i; ++j)  {
        digt += temp[j] *pow(10 ,i-j-1);
    }

    return digt;
}

int main ()
{
    char t[15] = {0};
    char y[5] = {0}, m[5] = {0}, d[5] = {0};
    int  yr,mon,dy;
    int  idx;
    int  order = 0;

    int IsRunTbl[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};
    int UnRunTbl[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};

    while(true){

        scanf("%s",t);

        for (idx = 0; idx < 4; ++idx) {
          y[idx] = t[idx];
        }
        y[idx] = '\0';

        m[0] = t[5];
        m[1] = t[6];
        m[2] = '\0';

        d[0] = t[8];
        d[1] = t[9];
        d[2] = '\0';

        yr  = str2digital(y);
        mon = str2digital(m);
        dy  = str2digital(d);

         if ( yr%400 == 0 || ( yr%4 == 0 && yr%100 !=0 ) ) {   // 如果是闰年 
           for ( idx = 0; idx < mon; ++idx) {
             order += IsRunTbl[idx];
             }
         } else {   
            for ( idx = 0; idx < mon; ++idx) {
            order += UnRunTbl[idx];
            }
        }
        order += dy;
        printf("%d\n", order);

     }

     return 0;
}

#include
#include

void main()
{
int daynumber(int year,int month,int day);
int date_y,date_m,date_d,day_num;
printf("please input the date(yyyy/mm/dd):\n");
scanf("%d/%d/%d",&date_y,&date_m,&date_d);
day_num=daynumber(date_y,date_m,date_d);
printf("%d/%d/%d is the %dth day of %d year.\n",date_y ,date_m ,date_d ,day_num ,date_y );
system("pause");
}

int daynumber(int year,int month,int day)
{
int i,flag=0,d_num=0;
((year%400==0)||(year%100!=0&&year%4==0))?flag=1:flag=0;
for(i=1;i<month;i++)
{
switch (i)
{
case 1:d_num +=31;break;
case 2:(flag==1)?d_num +=29:d_num +=28;break;
case 3:d_num +=31;break;
case 4:d_num +=30;break;
case 5:d_num +=31;break;
case 6:d_num +=30;break;
case 7:d_num +=31;break;
case 8:d_num +=31;break;
case 9:d_num +=30;break;
case 10:d_num +=31;break;
case 11:d_num +=30;break;
case 12:d_num +=31;break;
}
}
d_num+=day;
return d_num ;
}