判断是否为回文,要求先输入一个数字N,后面先输入完N行字符串后,再一起打印结果。作业不合格
我写的代码是:边输入字符串后,边输出结果。作业要示是先输入完N行字符串后,再一起打印结果请高手,帮忙更改一下。算法能否再精炼点。谢谢了
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
char a[100],b[100];
int n, j,i,len;
char *arr;
scanf("%d",&n);
arr = (char*)malloc(sizeof(int)*n);
for (j=0;j<n;j++)
{
printf("请输入一串字符:");
scanf("%s",a);
len=strlen(a);
for(i=0;i<=len;i++)
{ b[i]=a[i];
if (a[i]>='A'&&a[i]<='Z') b[i]=a[i]+32;//处于大写时 就转成小写
printf("%C",b[i]);
}
for(i=0;i<=len/2;i++)
{
if(b[i]!=b[len-i-1])
{
printf("no!\n");
i=len+1;
}
}
if (i==len/2+1) printf("yes\n"); // arr[j]="yes"; //
}
}