近期车展时间郑州2017:C语言编程问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/23 15:51:47
我在网上做编程题,但上传后总显示WRONG ANSWER,请指教
问题地址:http://acm.zju.edu.cn/show_problem.php?pid=1078
我的程序:
#include "stdio.h"

unsigned int change(unsigned int x,int y)
{
int b,r,i;
for(b=0,r=0,i=1;x-r!=0;i*=10)
{
r=x%y;
b+=r*i;
x=x/y;
}
return(b);
}

int panduan(unsigned int x)
{
int a[5];
unsigned b,n;
int i,j,flag,k;
n=x;
for(i=0;i<=5;i++)
{
a[i]=x%10;
x=x/10;
}
for(i=5,j=1,b=0;i>=0;i--)
{
if(a[i]!=0)
break;
}
k=i;
for(i=k,j=1,b=0;i>=0;i--)
{
b+=a[i]*j;
j*=10;
}
if(n==b)
flag=1;
else
flag=0;
return(flag);
}

main()
{
unsigned int a,b;
int i,flag;
for(;;)
{
scanf("%u",&a);
if(a==0)
break;
for(i=2,flag=0;i<=16;i++)
{
b=change(a,i);
flag+=panduan(b);
}
if(flag==0)
printf("Number %u is not a palindrom\n",a);
else
{
printf("Number %u is palindrom in basis",a);
for(i=2;i<=16;i++)
{
b=change(a,i);
flag=panduan(b);
if(flag==1)
printf(" %d",i);
}
printf("\n");
}
}
}
不可能是语言选择错误,否则结果会是编译错误而不是WRONG ANSWER

程序没有问题,完全正确。

一般大学的ACM练习,都是黑箱测试
上传的时候要选择好语言。

在上传的页面有语言选择项目,你可以选择不同的选项来试试。估计问题就出在这里。