Ⅰ c语言编写一个程序,判断输入的一个字符串是否是回文。
源代码如下:
#include <stdio.h>
int main()
{
int n, reversedInteger = 0, remainder, originalInteger;
printf("输入一个整数: ");
scanf("%d", &n);
originalInteger = n;
// 翻转
while( n!=0 )
{
remainder = n%10;
reversedInteger = reversedInteger*10 + remainder;
n /= 10;
}
// 判断
if (originalInteger == reversedInteger)
printf("%d 是回文数。", originalInteger);
else
printf("%d 不是回文数。", originalInteger);
return 0;
}
(1)c语言中的符串是回文吗扩展阅读
1、函数的返回值是通过函数中的return语句获取的。
2、函数值的类型。
3、如果函数值的类型和return语句中表达式的值不一样,则以函数类型为准。
4、如果调用函数中没有return语句,并不带回一个确定的用户需要的值,函数不是不带回值,而只是不带回有用的值,带回一个不确定的值。
Ⅱ C语言 判断给定字符串是否是回文
我猜楼主的想法是:
让数组的头和尾比较,一样了,就比较下一对,一直比较到最后,如果i=j,就说明是回文。
但是题主却没有用循环语句,按照楼主的程序就能比较两次,比较不完肯定错;而且题主找到的i,并不指向数组最后一个元素,而是指向他的结尾符号。(详情看图)
改正意见:
1.使用循环语句,从头判断到尾。
那就要求我们给循环语句一个最长执行长度,这就要考虑两种情况,一种,数组长度为奇数,另一种,数组长度尾偶数。不同的情况我们的判决情况也不一样,必须选一个适合两种情况的判决条件,这里使用n=i/2-1,让n来作为标准。(原因看图)。(其实除了要考虑这种情况之外,还要考虑特殊情况,比如长度为1,2这样的,这种特殊情况,就是程序容易忽略,容易出错的地方。)
2.在判断前,i-1,让i指向数组最后一个元素。
#include<stdio.h>
intmain()
{
chara[20];
gets(a);
inti,j,n;
j=i=0;
while(a[i]!='