19岁生日礼物-Birthday Gift
总时间限制: 1000ms 内存限制: 65536kB
描述
今天是小红的19岁生日,小明决定给小红买个生日礼物,但是为了突出是19岁的生日,生日礼物的价格必须和19相关。
一个正整数,如果它是19的倍数或者它的十进制表示中某相邻的两位是19,那么它是和19相关的。
你需要帮助小明判断礼物的价格是否和19相关。
输入
第一行是一个正整数n(int范围),表示总共有n个价格。
下面n行,每行是一个正整数p(int范围),代表礼物的价格。
输出
总共n行,第i行代表输入中第i个价格是否和19相关。如果相关,输出”Yes”,否则,输出”No”。
样例输入
4
95
100
3192
2913
样例输出
Yes
No
Yes
No
【分析】
找与19相关的数,如果是19的倍数,直接输出Yes,否则需要进行数位分离,判断相邻两位是否为19.
【源代码】
#include <stdio.h>
int Sepnum(int n) //分离n的各位数
{
int a[12];
int i=0,j;
int num=n;
int flag=0;
while(num) //分离n的各位数并保存到数组a中
{
a[i++]=num%10;
num/=10;
}
for(j=0;j<i-1;j++) //注意a数组中保存的各位数由低位到高位
{
if(a[j]==9 && a[j+1]==1)
{
flag=1;
break;
}
}
return flag;
}
int main()
{
int n,price;
int temp;
scanf("%d",&n);
while(n--)
{
scanf("%d",&price);
if(price%19==0)
printf("Yes\n");
else
{
temp=price;
if(Sepnum(temp))
printf("Yes\n");
else
printf("No\n");
}
}
return 0;
}