新手光能
#include<bits/stdc++.h>
using namespace std;
int a[6],j=0;
bool f=0;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
int k=i;
while(k!=0){
a[++j]=k%10;
k/=10;
}
for(int l=1;l<=j/2;l++){
if(a[l]==a[j]){
f=1;
}
else{
f=0;
break;
}
j--;
}
j=0;
f=0;
if(f==1)
cout<<k<<" ";
}
return 0;
}
汤启恩在2020-07-16 09:26:30追加了内容
@包涵宇
#include<bits/stdc++.h>
using namespace std;
int a[6],j=0;
bool f=1;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
int k=i;
while(k!=0){
a[++j]=k%10;
k/=10;
}
int p=j;
for(int l=1;l<=p/2;l++){
if(a[l]==a[j]){
f=1;
}
else{
f=0;
break;
}
j--;
}
if(f==1)
cout<<k<<" ";
j=0;
f=1;
}
return 0;
}
还是不对
输入10
输出
0 0 0 0 0 0 0 0 0
汤启恩在2020-07-16 09:28:19追加了内容
对了
输出i不是输出j
中级天翼
你的代码错误一点多
1.bool初值应该是1,应为10以内的数不会经过第二层FOR循环
2.应该先输出再初始化
3.j在循环中会改变,要用一个数存下来
所以,应将
bool f=0;
改为
bool f=1;
在
while(k!=0){
a[++j]=k%10;
k/=10;
}
后
插入
int p=j;
将
for(int l=1;l<=j/2;l++){
改为
for(int l=1;l<=p/2;l++){
将
j=0;
f=0;
if(f==1)
cout<<k<<" ";
改为
if(f==1)
cout<<k<<" ";
j=0;
f=1;
望采纳!!!
高级天翼