匿名用户
1级
2012-11-04 回答
代码如下:
#include
#include
int Panduan(char num[][105],int I);
int main()
{
char num[100][105];
int m,n,i;
scanf("%d", &n); //先读取一个整数,表明下面要输入几个字符串
for(i=0;i
scanf("%s",&num[i]);
for(int I=0;I
{
m=Panduan(num,I);
if(m==0) printf("yes\n");
else printf("no\n");
}
return 0;
}
int Panduan(char num[ ][105],int I) //这里是大写的Panduan
{
int m=strlen(num[I]);
for(int i=0;i
{
if(num[I][i]!=num[I][m-i-1]) return -1; // 后面一项是m-i-1,长度为n,那么a[n-1]是最后一个
}
return 0;
}
追问:
题目要求是 输入0时结束输入
比如输入:
121
0
输出:
yes
那怎么改程序??
怎样判断输入的字符串是不是0????
追答:
代码如下:不需要使用二维数组了
#include
#include
int Panduan(char num[]);
int main()
{
char num[105];
while(scanf("%s",num)) //读取一个字符串
{
if(strcmp(num, "0")==0) break; //如果输入的是0,退出
int m;
m=Panduan(num);
if(m==0) printf("yes\n");
else printf("no\n");
}
return 0;
}
int Panduan(char num[]) //这里是大写的Panduan
{
int m=strlen(num);
for(int i=0;i
{
if(num[i]!=num[m-i-1]) return -1; // 后面一项是m-i-1,长度为n,那么a[n-1]是最后一个
}
return 0;
}
追问:
对不起我忘了说 要求是:一次能输入多个数值直到输到0结束
如:
121
123
321
0
输出
yes
no
no
追答:
我贴的代码你试了吗?就是这么处理的啊。请您先运行一下代码,再细细的理解一下。