问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#include<bits/stdc++.h>
using namespace std;
#define for(i,a,n) for(int i=a;i<n;i++)
int main()
{
int a,b,c;
cin>>a>>b>>c;
int no_exist=1;//范围内是否存在这样的成比例三位数
for(i,123,988)
{
int m=1.0ib/a+0.5;//加0.5是保证不会出错
int n=1.0ic/a+0.5;
if(m>=988||n>988)
continue;
int arr[10]={0};
arr[i/100]=1;
arr[(i%100)/10]=1;
arr[(i%10)]=1;
arr[m/100]=1;
arr[(m%100)/10]=1;
arr[(m%10)]=1;
arr[n/100]=1;
arr[(n%100)/10]=1;
arr[(n%10)]=1;
int index=0;
for(j,1,10)
{
if(arr[j]==1)
index++;
}
if(index==9){
cout<<i<<" "<<m<<" "<<n<<endl;
no_exist=0;
}
}
if(no_exist)
cout<<"NO!!!"<<endl;
return 0;
}
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
麻烦了 麻烦给我细细讲讲我这个做法哪里有问题 为什么不能满分通过
然后我想知道 double 和int 之间转换有什么需要注意的点
以及this question你们有什么更便捷的方法吗 可以给我代码(带注释的让我自己品)谢谢了
麻烦了 祝大家身体健康天天快乐。