RiGuang @ 2024-12-08 15:27:26
为什么不给我报编译错误?(当然,此代码最终AC不了)
#include<bits/stdc++.h>
using namespace std;
int main(){
long long A,B,C,c=0;cin>>A>>B>>C;//这里的c打算是计数用的
int arr[9]={1,2,3,4,5,6,7,8,9};
do{
int a=arr[0]*100+arr[1]*10+arr[2];
int b=arr[3]*100+arr[4]*10+arr[5];
int c=arr[6]*100+arr[7]*10+arr[8];//这里的c指的是第三个三位数
if(a*B==b*A&&a*C==c*A&&a*B==b*A){
cout<<a<<" "<<b<<" "<<c<<endl;
c++;
}
}
while(next_permutation(arr,arr+9));
if(c==0)cout<<"No!!!";
return 0;
}
by I_Love_DS @ 2024-12-08 15:30:01
@RiGuang
不放在一层下是根据就近原则的(具体原理不知道)
by ywrow @ 2024-12-08 15:30:06
你的两个变量作用域不一样
by RiGuang @ 2024-12-08 15:32:30
明白了,感谢!!
by RiGuang @ 2024-12-08 15:37:04
我在Java也这样搞作用域内外都有同名变量却没通过编译,怪不得感觉有点奇怪