s=`echo -n $1 | wc -c`
n=$((($s)/2))
i=1
while [ $i -le $n ]
do
c1=`echo -n $1 | cut -c $i`
c2=`echo -n $1 | cut -c $s`
if test $c1 != $c2
then
echo "不是回文"
break
fi
i=$(($i+1))
s=$(($s-1))
done
if test $c1 = $c2
then
echo "是回文"
fi
运行: shell.sh string
#include <stdlib.h>int atoi(const char *nptr)
long atol(const char *nptr)
long long atoll(const char *nptr)
long long atoq(const char *nptr)
linux下面没对应的好像,我man 没有查到.
给你直接找到一个实现,你放到自己代码里面就可以了
void itoa ( unsigned long val, char *buf, unsigned radix )
{
char *p/* pointer to traverse string */
char *firstdig /* pointer to first digit */
char temp/* temp char */
unsigned digval/* value of digit */
p = buf
firstdig = p /* save pointer to first digit */
do {
digval = (unsigned) (val % radix)
val /= radix /* get next digit */
/* convert to ascii and store */
if (digval > 9)
*p++ = (char ) (digval - 10 + 'a ')/* a letter */
else
*p++ = (char ) (digval + '0 ') /* a digit */
} while (val > 0)
/* We now have the digit of the number in the buffer, but in reverse
order. Thus we reverse them now. */
*p-- = '\0 '/* terminate string p points to last digit */
do {
temp = *p
*p = *firstdig
*firstdig = temp /* swap *p and *firstdig */
--p
++firstdig /* advance to next two digits */
} while (firstdig < p) /* repeat until halfway */
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)