洛谷 P2955 [USACO09OCT]奇数偶数Even? Odd?【字符串/易错】

题目描述

Bessie's cruel second grade teacher has assigned a list of N (1 <= N <= 100) positive integers I (1 <= I <= 10^60) for which Bessie must determine their parity (explained in second grade as 'Even... or odd?'). Bessie is overwhelmed by the size of the list and by the size of the numbers. After all, she only learned to count recently.

Write a program to read in the N integers and print 'even' on a single line for even numbers and likewise 'odd' for odd numbers.

POINTS: 25

Bessie那惨无人道的二年级老师搞了一个有 N 个正整数 I 的表叫Bessie去判断“奇偶性”(这个词语意思向二年级的学生解释,就是“这个数是单数,还是双数啊?”)。Bessie被那个表的长度深深地震惊到了,竟然跟栋栋的泛做表格一样多道题!!!毕竟她才刚刚学会数数啊。

写一个程序读入N个整数,如果是双数,那么在单立的一行内输出"even",如果是单数则类似地输出"odd".

输入输出格式

输入格式:

  • Line 1: A single integer: N

  • Lines 2..N+1: Line j+1 contains I_j, the j-th integer to determine even/odd

输出格式:

  • Lines 1..N: Line j contains the word 'even' or 'odd', depending on the parity of I_j

输入输出样例

输入样例#1: 复制
2 
1024 
5931 
输出样例#1: 复制
even 
odd 

说明

Two integers: 1024 and 5931

1024 is eminently divisible by 2; 5931 is not

【代码】:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    char a[1005];//是大数 用字符串
    cin>>n;
    while(n--)
    {
        scanf("%s",a);
        if((a[strlen(a)-1]-'0')%2==0)//判断奇偶只要看最后一位
            puts("even");
        else
            puts("odd");
    }
    return 0;
}

  

原文地址:https://www.cnblogs.com/Roni-i/p/7968819.html