输入和输出格式:
输入包含一个与账单编号对应的编号。 账单号码是一个3位数字,数字中的所有3位数字都是偶数。
输出包含一个“是”或“否”的字符串。当客户收到奖品时输出为是,否则输出为
样品:
Input Output
565 no
620 yes
66 no # Not a 3-digit number (implicit leading zeros not allowed)
002 yes # 3-digit number
我通过使用“number”mod 10获得单个数字,然后检查“digit”mod 2是否为0来解决问题......
但是如果我输入“002”,它会输出“no”而不是我希望它应该是“是”。
代码 - 从评论中复制和格式化:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
int num, t, flag, count = 0;
while (num)
{
t = num % 10;
num = num / 10;
if (t % 2 == 0)
{
flag = 1;
}
else
{
flag = 0;
}
count++;
}
if (flag == 1 && count == 3)
{
printf("yes");
}
else
{
printf("no");
}
return 0;
}
答案 0 :(得分:1)
您必须使用字符串而不是数字,否则您无法表示 public static Bitmap getFacebookProfilePicture(String userID) throws IOException {
URL imageURL = new URL("https://graph.facebook.com/" + userID + "/picture?type=large");
Bitmap bitmap = BitmapFactory.decodeStream(imageURL.openConnection().getInputStream());
return bitmap;
}
// on createView method
try {
Bitmap mBitmap = getFacebookProfilePicture(id);
imageView.setImageBitmap(mBitmap);
} catch (IOException e) {
e.printStackTrace();
}
值。
识别偶数:
002
识别只有偶数位的字符串:
int even(char c) {
switch (c) {
case '0':
case '2':
case '4':
case '6':
case '8':
return 1;
default:
return 0;
}
}
仅对3个偶数位的字符串返回“yes”,对所有其他字符串返回“no”:
int all_even(char* s) {
while (*s != '\0') {
if (!even(*s)) {
return 0;
}
s++;
}
return 1;
}
答案 1 :(得分:0)
如何读取整数002?输入002时,num
的值仅为2
而不是002
。在这种情况下,您while loop
将仅运行一次,count
的值将为1
。因此,在这种情况下,if
条件为false
。
尝试此解决方案。
#include<stdio.h>
#include<string.h>
void main(){
char bill[4];
int i, flag=0;
int digit, len;
scanf("%s",bill);
len = strlen(bill);
if(len<3){
printf("no\n");
return;
}
for(i=0;i<len;i++){
digit = bill[i] - '0';
if(digit%2 == 0) flag = 1;
else{
flag = 0;
break;
}
}
if(i==3 && flag == 1) printf("Yes\n");
else printf("No\n");
return;
}
答案 2 :(得分:0)
检查是否有效
#include <stdio.h>
#include <string.h>
char * checknum(char a)
{
switch (a){
case '0':
case '2':
case '4':
case '8':
return "YES";
default: return "NO";
}
}
int main()
{
char input [3];int i;
char * output;
printf("Enter the number");
scanf("%s",&input);
if(strlen(input)==3)
{
for(i=0;i<strlen(input);i++)
{
output=checknum(input[i]);
if(output=="NO")
{
printf("NO\n");
break;
}
}
if(output=="YES")
{
printf("YES\n");
}
}
return 0;
}