大家帮我看看我编的C语言程序错在哪里

来源:百度知道 编辑:UC知道 时间:2024/09/28 10:13:46
求1到999的回文数(回文数指平方具有对称性的数。例如11的平方为121.)
#include<stdio.h>
void main()
{
int b,a,i,x[6],n=0,k,flag=0;
for(i=1;i<=999;i++)
{
a=i*i;
b=a;
while(b>0)
{x[n]=b%10;b=b/10;n++;}
for(k=0;(k+1)<=(n+1)/2;k++)
{
if(x[k]==x[n-k]) flag++; }
if(flag>=(n+1)/2) printf("%d",i);
flag=0;
}
}
还没学到怎么调用函数 就是这个一直找不到问题在那里

给你一个程序,判断5位回文数的,你看看把。
main( )
{
long ge,shi,qian,wan,x;
scanf("%ld",&x);
wan=x/10000;
qian=x%10000/1000;
shi=x%100/10;
ge=x%10;
if (ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/
printf("this number is a huiwen\n");
else
printf("this number is not a huiwen\n");
}

你在循环里没有重置n的值

这样写很混乱。间以先写一个判断是否回文数的含数,再用主含数调用之

b==0时跳出循环??