24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 501  |  回复: 1

邦桀南瑜

银虫 (小有名气)

[交流] 代码C已有1人参与

1.关于年月日问题
    #include<stdio.h>
void isDate(int,int);
int leap(int);
void main()
{
        int year,day;
        printf("请输入年份和天数(格式:1990 60)\n";
        scanf("%d%d",&year,&day);
    isDate(year,day);

}
void isDate(int year,int day)
{
   if(leap(year))
   {
           if(day>=1 && day<=31){printf("%d-%d-%d\n",year,1,day);}
           if(day>31 && day<=60){day-=31;printf("%d-%d-%d\n",year,2,day);}
           if(day>60 && day<=91){day-=60;printf("%d-%d-%d\n",year,3,day);}
           if(day>91 && day<=121){day-=91;printf("%d-%d-%d\n",year,4,day);}
           if(day>121 && day<=152){day-=121;printf("%d-%d-%d\n",year,5,day);}
           if(day>152 && day<=182){day-=152;printf("%d-%d-%d\n",year,6,day);}
           if(day>182 && day<=213){day-=182;printf("%d-%d-%d\n",year,7,day);}
           if(day>213 && day<=244){day-=213;printf("%d-%d-%d\n",year,8,day);}
           if(day>244 && day<=274){day-=244;printf("%d-%d-%d\n",year,9,day);}
           if(day>274 && day<=305){day-=274;printf("%d-%d-%d\n",year,10,day);}
           if(day>305 && day<=335){day-=305;printf("%d-%d-%d\n",year,11,day);}
       if(day>335 && day<=366){day-=335;printf("%d-%d-%d\n",year,12,day);}
   }
   else
   {
       if(day>=1 && day<=31){printf("%d-%d-%d\n",year,1,day);}
           if(day>31 && day<=59){day-=31;printf("%d-%d-%d\n",year,2,day);}
           if(day>59 && day<=90){day-=60;printf("%d-%d-%d\n",year,3,day);}
           if(day>90 && day<=120){day-=91;printf("%d-%d-%d\n",year,4,day);}
           if(day>120 && day<=151){day-=121;printf("%d-%d-%d\n",year,5,day);}
           if(day>151 && day<=181){day-=152;printf("%d-%d-%d\n",year,6,day);}
           if(day>181 && day<=212){day-=182;printf("%d-%d-%d\n",year,7,day);}
           if(day>212 && day<=243){day-=213;printf("%d-%d-%d\n",year,8,day);}
           if(day>243 && day<=273){day-=244;printf("%d-%d-%d\n",year,9,day);}
           if(day>273 && day<=304){day-=274;printf("%d-%d-%d\n",year,10,day);}
           if(day>304 && day<=334){day-=305;printf("%d-%d-%d\n",year,11,day);}
       if(day>334 && day<=365){day-=335;printf("%d-%d-%d\n",year,12,day);}
}



}
int leap(int year)
{
        return year%4==0 && year%100!=0 || year%400==0 ? 1:0;
}
2.关于sinx泰勒展开
  #include<stdio.h>
#include<math.h>
void sin_result(float);
long factorial(int);
void main()
{
        float x;
  printf("请输入X值\n";
  scanf("%f",&x);
  sin_result(x);
}
long factorial(int n)
{   
        long s=1;
        int i;
        for(i=1;i<=n;i++)
        {
           s*=i;
        }
  return s;
}
void sin_result(float x)
{
int sign=1,i=1;
  double res=0,tem;
  do{
      
          tem=1.0*sign*pow(x,i)/factorial(i);
          res+=tem;
           sign=-sign;
           i=i+2;
  }while(fabs(tem)>=pow(10,-6));
  printf("SIN%f=%f\n",x,res);



}
3.关于二进制转码
#include <stdio.h>
#include <math.h>
void versbinary(int n);
int isSign(int n);
int isSign(int n)
{
    return n>=0 ? 1:0;

}
void versbinary(int n)
{
   
        if(isSign(n)){                  
                        int i, j,m;                                                       
                                        int a[8] =
                                        {
                                                0
                                        };                                                                                                                                                               
                                        for (m = 0; m < 8; m++)                                               
                                        {
                                                i = n % 2;                                                               
                                                j = n / 2;                                                       
                                                n = j;                                                                       
                                                a[m] = i;                                                       
                                        }
                                        for (m = 7; m >= 0; m--)
                                        {
                                                printf("%d", a[m]);                                               
                                                if (m % 4 == 0)
                                                        printf(" ";                                               
                                        }
                                        printf("\n";
                  }
        else
        {
          n=fabs(n);
            int i,j,m;                                                       
                                        int a[8] =
                                        {
                                                0
                                        };                                                                                                                                                               
                                        for (m = 0; m < 8; m++)                                               
                                        {
                                                i = n % 2;                                                               
                                                j = n / 2;                                                       
                                                n = j;
                                                if(i==1)
                                                {a[m] = 0;}
                                                else
                                                {a[m]=1;}
                                               
                                        }
                                        printf("%d",1);
                    
                                        m=0;
                                               
                                                           if(a[m]==0)
                                                           {
                                                            a[0]=1;
                                                       }
                                                           else
                                                           {
                                                                   a[m]=0;
                                                                    if(a[m+1]==0)a[m+1]=1;
                                                                      else
                                                                      {
                                                                              a[m+1]==0;
                                                                                if(a[m+2]==0) a[m+2]=1;
                                                                                   else
                                                                                   {
                                                                                           a[m+2]=0;
                                                                                              if(a[m+3]==0)a[m+3]=1;
                                                                                                else
                                                                                                {
                                                                                                        a[m+3]=0;
                                                                                                          if(a[m+4]==0)a[m+4]=1;
                                                                                                             else
                                                                                                             {
                                                                                                                     a[m+4]=0;
                                                                                                                     if(a[m+5]==0)a[m+5]=1;
                                                                                                                       else
                                                                                                                       {
                                                                                                                               a[m+5]=0;
                                                                                                                                 if(a[m+6]==0)a[m+6]=1;
                                                                                                                                 else
                                                                                                                                 {
                                                                                                                                 a[m+6]=0;
                                                                                                                                 printf("数据溢出!!!";
                                                                                                                           }
                                                                                                                       }
                                                                                                             }
                                                                                                }
                                                                                   }
                                                                                   
                                                                      }
                                                           }
                                               
                                        for (m = 6; m >= 0; m--)
                                        {
                                       
                                                printf("%d", a[m]);                                               
                                                if (m % 4 == 0)
                                                        printf(" ";                                               
                                        }
                                        printf("\n";
       
       
        }

}

void main()
{
         int n1,n2;
    printf("请输入一个十进制数(-128~127):\n";       
        scanf("%d%d",&n1,&n2);
     versbinary(n1);
          versbinary(n2);
}
4.关于安排座位的(12选8)
  #include<stdio.h>
int fac(int n)
{
        int i,sum=1;
    for(i=1;i<=n;i++)
        {
          sum*=i;
        }
   return sum;
}
void main()
{

        int m_num,d_num;
   printf("请输入成员数m_num,桌子书d_num\n";
   scanf("%d%d",&m_num,&d_num);
   printf("总共有%d种安排\n",fac(d_num)/(fac(d_num-m_num)*fac(m_num)));



}
回复此楼
%d%ld%f%lf%x%X%#x%#X%c%o
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
2楼2013-12-02 20:22:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 邦桀南瑜 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见