2.10
Posted minqqq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.10相关的知识,希望对你有一定的参考价值。
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 ",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 }
以上是关于2.10的主要内容,如果未能解决你的问题,请参考以下文章