正文

QQ等级计算程序2005-09-18 01:32:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wojiele/4872.html

分享到:

#include<math.h>

tian(int x)
{
   int y;
   if (x<=48&&x>0)     /*输入的等级数要小于等于48或大于0,否则不合QQ要求*/
   {
      y=x*x+4*x;
      return y;
   }
    else return 0;
}
deng(int y)
{
   int x,i,a[49],max;
    if (y>2496||y<=0)   /*输入的天数要小于等于48级对应的2496天并大于0*/
      return 0;
   for(x=1;x<=48;x++)
      if (x*x+4*x==y)
         break;
      if (x==49)     /*因为在上面的循环里用了x++,所如果没有一个等级符合要求,那么X值会变为49*/
      {
         for(x=1,i=1;x<=48&&i<=48;x++,i++)  
            a[i]=abs(x*x+4*x-y);    /*abs函数是库函数,功能是取绝对值*/
            if (a[1]<a[2])
               max=1;        
            else max=2;
            for(i=3;i<=48;i++)
               if (a[i]<a[max])      /*比较出数组中最小的那个,它的下标符也就是等级的值*/
                  max=i;
         return max;
      }
      else return x;
}
main()
{

   int n,d;
   char m;
a:
   printf("a:输入等级计算输出天数\n");
   printf("b:输入天数计算输出最接近的等级\n");
   printf("e:退出\n");
   printf("请选择:");
    scanf("%c",&m);
   switch(m)
   {
   case'a':
      printf("输入等级:");
      scanf("%d",&n);
      if (tian(n)!=0)
      printf("%d级对应的是%d天",n,tian(n));
      else printf("输入错误!可能输入等级大于48或等于小于0");
      break;
   case'b':
      printf("输入天数:");
      scanf("%d",&d);
      if (deng(d)!=0)
      printf("%d天最接近%d级",d,deng(d));
      else printf("输入错误!可能输入天数大于2496或小于等于0");
      break;
   case'e':
      exit(0);
   default:
      printf("请重新选择");goto a;
   }
   getch();
}

阅读(3845) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册