#include <bits/stdc++.h>
using namespace std;
int main()
{
int weishu=0,shuzi=0,n,t,m;
double e;
cin>>n;
t=n;
if(n<0) n=(-1)*n;
while(n>0)
{
weishu++;
n=n/10;
}
n=t;
if(n<0) n=(-1)*n;
if(weishu>1)
{
while(n>0)
{
m=n%10;
if(m==2) shuzi++;
n=n/10;
}
n=t;
e=shuzi/weishu*100;
if(n<0)
{
e=e*1.5;
if(n%2==0) e=e*2;
}
cout<<setiosflags(ios::fixed)<<setprecision(2)<<e<<"%"<<endl;
}
if(weishu==1)
{
if(n==2) cout<<100.00<<"%"<<endl;
else if(n==-2) cout<<300.00<<"%"<<endl;
else cout<<0.00<<"%"<<endl;
}
return 0;
}
PTA的题,请问我写的这段代码哪里错了?我觉得思路是对的,但是想了几个小时都想不通
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
0条回答 默认 最新
悬赏问题
- ¥30 微信小程序蓝牙数据透传
- ¥15 加氢站氢负荷数据集来源
- ¥15 umi接入sentry遇到问题
- ¥15 HBuilderX打包H5网页,扫码模块无法使用
- ¥15 Javascript跳转页面后,无法执行后面代码,如何解决?
- ¥15 echarts绘制图表
- ¥15 请教两个关于高德地图定位不准的技术问题
- ¥15 根据企业名称 对照两个文件 样本筛选/匹配
- ¥15 Linux环境下CA证书更新问题
- ¥15 sqlserver语句提取结果以外数据