当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: #include <math.h> #define s(a,b,c) (a+b+c)/2 #define area(a,b,c) sqrt(s(a,b,c)*(s(a,b,c)-a)*(s(a,b,c)-b)*(s(a,b,c)-c)) main() { float a,b,c; char m; printf("shu ru san jiao xing de san ......
    摘要: ibm http server在xp下安装,错误信息: “您必须是管理员组的成员才可以安装此产品” 我当时用的用户是管理员啊 ......


Help高分求解

这是一条计算天数的程序,我调试了几天都不能弄出来,请哪位高手帮忙改一下啊!  
  #include"stdlib.h"  
  #include"stdio.h"  
  struct   dates  
  {  
      int   year;  
      int   month;  
      int   day;  
  }date;  
   
    int   days(int   s,struct   dates   date)  
  {  
      int   i;  
      static   int   a[]={31,28,31,30,31,30,31,31,30,31,30,31};  
      if(date.year%4==0&&date.year%100!=0||date.year%400==0)  
      if(date.month==2&&date.day==29)  
      s=60;  
      if(date.day>=0&&date.day<=a[date.month]&&date.year>0)  
      {  
          if(date.month==1)  
          s=date.day;  
          else   if(date.month>1&&date.month<=12)  
          {  
                for(i=0;i<date.month-1;i++)  
                      s=s+a[i];  
                if(date.year%4==0&&date.year%100!=0||date.year%400==0)  
                  if(date.month>2)    
                    s++;  
            }  
        }  
  return   s;  
  }  
   
  void   main()  
  {     struct   dates   date;  
        int   s=0;  
        printf("请输入年、月、日:");  
        scanf("%d%d%d",&date.year,&date.month,&date.day);  
        days(s,date);  
        if(s>0&&s<=366)  
          printf("今天是本年中的第%d天!",s);  
        else    
        printf("输入错误!");  
  }

NO.1   作者: lifanxi

我帮您改过的程序:  
  不过程序中没有做输入判错,您可以自己加上。  
  #include<stdio.h>  
   
  struct   dates  
  {  
  int   year;  
  int   month;  
  int   day;  
  };  
   
  int   days(struct   dates   date)  
  {  
  int   i,   s   =   0;  
  int   a[]={31,28,31,30,31,30,31,31,30,31,30,31};  
  if   (((date.year   %   4   ==   0)   &&   (date.year   %   100   !=   0))   ||   (date.year   %   400   ==   0))  
  a[1]   =   29;  
  for   (i   =   0;   i   <   date.month   -   1;   i++)  
  s   +=   a[i];  
  s   +=   date.day;  
  return   s;  
  }  
   
  int   main()  
  {  
  struct   dates   date;  
  int   s=0;  
  printf("请输入年、月、日:");  
  scanf("%d%d%d",&date.year,&date.month,&date.day);  
  s   =   days(date);  
  if(s>0&&s<=366)  
  printf("今天是本年中的第%d天!",s);  
  else    
  printf("输入错误!");  
  return   0;  
  }  
 

NO.2   作者: mlsmls0129

你为什么不用类啊  
  我们老师讲过类似的,有时间的话,   以后我会把那代码送给你的

NO.3   作者: hongyanzaiyun

把s   定义为全局变量:   extern   int   s   =   0;  
  或者如上所说;  
  因为s   在days()函数中是局部变量,所以它在days()结束时将被系统释放其内存,所以不能传回值;  
  这书上都有的    
  你认真看看书,体会一下把

NO.4   作者: vsfan

int   days(int   &s,struct   dates   date)  
  并把s改为全局变量就在c++中就可以了  
 

NO.5   作者: shishiXP

支持

NO.6   作者: yizhili

合法,因为*(p+j)就是p[j].  
  指针是个比较复杂的东西,开始时你可以把它当作可变长数组来用,或用来作为参数传递。时间长了了解了其中的机理后就可以用更灵活的用法了。


 ·在线求助 java作业 紧紧求助    »显示摘要«
    摘要: 主要是用java swing 或者 awt写一个程序. 类似于一个室内装潢的工具, 可以画至少5个房间, 然后往房间里加椅子,桌子,床... 可以任意改变它们的位置, 达到设计的最佳效果, 然后可以存档,也可以把过去存档的文件调出来现实. 时间紧迫, 请尽快帮忙~~~~~~~~~~~~~~~ 2d architectural design tool for this assignment,......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE