码迷,mamicode.com
首页 > 其他好文 > 详细

2.10

时间:2020-02-10 22:20:27      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:sort   code   turn   判断   dex   isp   输入   span   hide   

1086 就不告诉你

水题,反转数字串,有坑点,要去掉前导零

1076 Wifi密码

水题,略

1061 判断题

水题orz(我错了我不应该专挑水题明天完了完了)

1053 住房空置率

原来我后面要输入一个%前面还要加一个%啊(学到了学到了)

  printf("%.1lf%% ",x1)
精度这种东西 还是随缘趴 毕竟pta太过神奇
1019 数字黑洞
emmmmm怎么说呢不水但是细心就好啦
printf大法好
#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b)
{
	return a>b;
}
int main()
{
  string s;
  int a[4]={0};
  int d=0,x=0,ans=0;
  cin>>s;
  int len=s.size();
  for(int i=0;i<len;i++)
  {
    a[i]=s[i]-‘0‘;//转换成数字 
  }
  
  if (a[1]==a[2]&&a[2]==a[3]&&a[3]==a[0])  
  {	
      cout<<s<<" - "<<s<<" = "<<"0000";  
  }
  else
  {
    while(ans!=6174)
    {
      //sort(a,a+4,greater<int>();
        sort(a,a+4,cmp);
        for(int i=0;i<4;i++)
		{
          d=10*d+a[i];
          x=10*x+a[3-i];
        }
        ans=d-x;
        printf("%04d - %04d = %04d\n",d,x,ans);//格式 
        a[3]=ans%10;
        a[2]=(ans/10)%10;
        a[1]=(ans/100)%10;
        a[0]=ans/1000;
        d=0;
        x=0;
    }
  }
}

 这样写sort(a,a+4,greater<int>())表示按大排序可偷懒!

1024 科学计数法

最烦这种字符串题了一度不想做所以代码很憨憨还是看看大佬怎么写的学习一下吧

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     string s;
 6     getline(cin,s);
 7     if(s[0]==-) cout<<-;//判断正负
 8     int len=s.size();
 9     int index=1;
10     int dian=1;
11     for(int i=1;i<len;i++)
12     {
13         if(s[i]==-||s[i]==+) 
14         {
15             index=i;
16     }
17     }
18     for(int i=0;i<len;i++)
19     {
20         if(s[i]==.)
21         {
22             dian=i;
23             break;
24         }
25     }
26     //cout<<index<<‘ ‘<<dian;
27     int x=0;
28         int temp=1;
29         for(int i=len-1;i>index;i--)
30         {
31             s[i]-=0;
32             x=x+s[i]*temp;
33             temp*=10; 
34         }
35         //cout<<x<<endl;
36     if(s[index]==+)
37     {
38         int y=index-dian-2;//需要的 
39         if(x==y) 
40         {
41             for(int i=1;i<index-1;i++)
42             {
43                 if(s[i]!=.) cout<<s[i];
44             }
45         }
46         else if(x>y)
47         {
48           for(int i=1;i<index-1;i++)
49             {
50                 if(s[i]!=.) cout<<s[i];
51             }
52             int d=x-y;
53             while(d--)
54             {
55                 cout<<0;
56             }    
57         }
58         else
59         {
60               for(int i=1;i<index-1;i++)
61             {
62                 if(s[i]!=.) cout<<s[i];
63                 if(i==x+2) cout<<.;
64             }
65         }
66     }
67     else if(s[index]==-)
68     {
69         cout<<"0.";
70         int y=x-1;
71         while(y--)
72         {
73             cout<<0;
74         }
75         for(int i=1;i<index-1;i++)
76             {
77                 if(s[i]!=.) cout<<s[i];
78             }
79     }
80 }

1051 复数乘法

又是精度问题 神奇pta

要注意0.00的情况

技术图片
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     double r1,r2;
 6     double p1,p2;
 7     double x1,x2;
 8     scanf("%lf %lf %lf %lf",&r1,&p1,&r2,&p2);
 9     x1=r1*r2*(cos(p1)*cos(p2)-sin(p1)*sin(p2));//实部 
10     x2=r1*r2*(cos(p1)*sin(p2)+sin(p1)*cos(p2));//虚部 
11     if(x1>-0.005&&x1<0.005)    printf("0.00") ;
12     else    printf("%.2lf",x1);
13     if(x2>0.005)  printf("+%.2lfi",x2);
14     else if(x2>-0.005&&x2<0.005)printf("+0.00i");
15     else  printf("-%.2lfi",-x2);
16 }
View Code

 

 

2.10

标签:sort   code   turn   判断   dex   isp   输入   span   hide   

原文地址:https://www.cnblogs.com/minqqq/p/12292989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!