杭电acm2113,我为什么会Wrong Answer,我运行是对的

#include<stdio.h>#include<string.h>intmain(){intn=2,l;intj,s=0;charstr[100];l=strlen(... #include<stdio.h>
#include<string.h>
int main()
{
int n=2,l;
int j,s=0;

char str[100];
l=strlen(str);
while(n--)
{
gets(str);
for(j=0;j<l;j++)
{
if(str[j]=='2')
s=s+2;
if(str[j]=='4')
s=s+4;
if(str[j]=='6')
s=s+6;
if(str[j]=='8')
s=s+8;
}
if(n==0)
printf("\n");
printf("%d\n",s);
s=0;
}
return 0;
}
如何改
Problem Description
有一天, KIKI 收到一张奇怪的信, 信上要KIKI 计算出给定数各个位上数字为偶数的和.
eg. 5548
结果为12 , 等于 4 + 8

KIKI 很苦恼. 想请你帮忙解决这个问题.

Input
输入数据有多组,每组占一行,只有一个数字,保证数字在INT范围内.

Output
对于每组输入数据,输出一行,每两组数据之间有一个空行.

Sample Input
415326
3262

Sample Output
12

10
(2113)
展开
 我来答
L_o_o_n_i_e
2010-12-01 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5092万
展开全部
有的题目有运算时间要求。太慢了不行。
有的题目有输入数据个数和数值范围要求。你的测试数据不一定能涵盖全部范围。
运行是对的,只是必要条件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丰海桃B6
2010-12-02
知道答主
回答量:4
采纳率:0%
帮助的人:6.1万
展开全部
#include<stdio.h>
#include<string.h>
void main()
{
int i,s,n;
char a[1000];
scanf("%s",a);
s=0;
n=strlen(a);
for(i=0;i<n;i++)
{ if(a[i]%2==0)
s=s+(a[i]-'0');
}
printf("%d\n",s);
while(scanf("%s",a)!=EOF)
{
printf("\n");
s=0;
n=strlen(a);
for(i=0;i<n;i++)
{ if(a[i]%2==0)
s=s+(a[i]-'0');
}
printf("%d\n",s);
}
}
AC了!
是最后那空行的问题
要有下一组书才能有空行。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zack163
2010-12-02 · 超过24用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:46.9万
展开全部
#include<stdio.h>

int main()
{
int c=0,n,i,j,k,t,ans;
while(scanf("%d",&n)!=EOF)
{
if(c++) putchar('\n');
ans=0;
while(n)
{
t=n%10;
if(t%2==0) ans+=t;
n/=10;
}
printf("%d\n",ans);
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式