这是我码的,但是运行不对,但自己找不出错
#include<stdio.h>
#include<string.h>
int main()
{ int i,j,s[20],k=0;
gets(s);
for(j=0; s[j]!='\0'; j++);
printf("%d",j);
if(j<1)
printf("No");
else
{
for(i=0; i<=j; i++,j--)
{
k=(s[i]!=s[j]);
}
if(k==0)
printf("Yes");
else
printf("No");
}
return 0;
}
试了很久都不对
修改如下,改动处见注释,供参考:
#include<stdio.h>
#include<string.h>
int main()
{
int i, j, k = 0; //int s[20] 修改
char s[20]; // 修改
gets(s);
for (j = 0; s[j] != '\0'; j++);
//printf("%d", j); // 修改
if (j < 1)
printf("No");
else
{
for (i = 0, j--; i <= j; i++, j--) //for (i = 0; i <= j; i++, j--) 修改
{
k = (s[i] != s[j]);
if (k) break; // 修改
}
if (k == 0)
printf("Yes");
else
printf("No");
}
return 0;
}
打印一个菱形其实有很多办法,不过最具有代表性的就是下面说的这两种
printf()
暴力打印这种可能是c语言初学者最常用的办法,几乎可以针对任何打印图形的问题,但是这种方式效率不高,而且做起来也很累,我们通常在无法找出规律,或者规律很复杂的时候才使用他,几乎只要会使用
printf()
就会进行操作了,这里就不再多讲了
这种我们需要找到规律,通过控制循环的条件来进行打印。