1383.回文号码
时间限制: 1000 MS 内存限制: 65536 K
提交数: 581 (0 users) 通过数: 263 (254 users)
问题描述
每一个新生,在录取通知书里面,都会包含两张电话卡,一张电信,一张移动。至于小明选了哪张卡,小编我不知道。不过在小强收小明为徒的那天,小强问小明的电话号码是多少,小明回答道:18046164081。小强惊讶地说到:不错嘛,回文号码啊!这时小明才发现,原来自己的号码不管顺着念还是倒着念都是一样的!现在他想通过程序来判断他的通讯录里面有多少个回文号码!
输入格式
第一行输入一个整数N,代表电话号码总数 0<N<10000
接下来N行,每一行输入一个电话号码
输出格式
N个号码中的回文号码数量
样例输入
5
18016164081
18746164781
15059689555
18046164081
13255622543
样例输出
2
来源
时间限制: 1000 MS 内存限制: 65536 K
提交数: 581 (0 users) 通过数: 263 (254 users)
问题描述
每一个新生,在录取通知书里面,都会包含两张电话卡,一张电信,一张移动。至于小明选了哪张卡,小编我不知道。不过在小强收小明为徒的那天,小强问小明的电话号码是多少,小明回答道:18046164081。小强惊讶地说到:不错嘛,回文号码啊!这时小明才发现,原来自己的号码不管顺着念还是倒着念都是一样的!现在他想通过程序来判断他的通讯录里面有多少个回文号码!
输入格式
第一行输入一个整数N,代表电话号码总数 0<N<10000
接下来N行,每一行输入一个电话号码
输出格式
N个号码中的回文号码数量
样例输入
5
18016164081
18746164781
15059689555
18046164081
13255622543
样例输出
2
来源
xmu
#include <stdio.h>
#include <string.h>
int is_palindrome(char *telephone)
{
int i, j;
int len = (int)strlen(telephone);
for (i = 0, j = len-1; i < j; ++i, --j)
{
if (telephone[i] != telephone[j])
return 0;
}
return 1;
}
int main()
{
int n;
char telephone[15] = { 0 };
int palindrome_count;
scanf("%d", &n);
palindrome_count = 0;
while (n--)
{
scanf("%s", telephone);
if (is_palindrome(telephone))
palindrome_count++;
}
printf("%d\n", palindrome_count);
return 0;
}