用C语言求所有四位回文数,想知道我哪错了,根本输出不出来。。下是代码 50

#include<stdio.h>intmain(){inti,j,sum,temp;for(i=1000;i<=9999;i++){sum=0;temp=i;while... #include<stdio.h>
int main()
{
int i,j,sum,temp;
for(i=1000;i<=9999;i++)
{
sum=0;
temp=i;
while(temp)
{
sum=sum*10+temp%10;
temp=temp/10;
}
if(temp==sum)
{
printf("%d",i);
}
}

return 0;
}
展开
 我来答
来自上清宫勤奋的玉蝶梅
2017-03-21 · TA获得超过1060个赞
知道小有建树答主
回答量:143
采纳率:0%
帮助的人:61.3万
展开全部
#include<stdio.h>
int main()
{
    for(int i=1000;i<=9999;i++)
    {
        if((i/1000 == i%10)&&(i/100%10==i%100/10)){
            printf("%d\n",i);
        }
    }
    return 0;
}

你定义的sum和temp都没有必要,只是输出i就可以,符合条件的i值输出,既可达成题目。

i/1000 == i%10   // 千位和个位相等

i/100%10==i%100/10   //百位和十位相等

只需要同时满足这两个条件,即为回文数

这个时候只需要在if中加一个&&(与)然后输出即可。



很高兴回答你的问题,希望采纳!

leosky07
2017-03-21 · TA获得超过339个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:99.7万
展开全部
你用的i循环的,但是if(temp==sum) 错了,改为if(i==sum)
#include<stdio.h>
int main() {
int i,sum,temp;
for(i = 1000; i <= 9999;i++) {
sum = 0;
temp = i;
while(temp)
{
sum = sum*10 + temp%10;
temp = temp/10;
}
if(i == sum)
printf("%d ",i);
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoaxa
2017-03-21 · TA获得超过8609个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3465万
展开全部
#include<stdio.h>
int main() {
int i,j,sum,temp;
for(i = 1000; i < 10000;i++) {
sum = 0;
temp = i;
while(temp) {
sum = sum*10 + temp%10;
temp = temp/10;
}
if(i == sum) printf("%d ",i);
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
c0...0@33sn.cc
2017-03-21
知道答主
回答量:2
采纳率:0%
帮助的人:1989
展开全部

and more importantly in sel

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式