杭电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) 展开
#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) 展开
3个回答
展开全部
有的题目有运算时间要求。太慢了不行。
有的题目有输入数据个数和数值范围要求。你的测试数据不一定能涵盖全部范围。
运行是对的,只是必要条件。
有的题目有输入数据个数和数值范围要求。你的测试数据不一定能涵盖全部范围。
运行是对的,只是必要条件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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了!
是最后那空行的问题
要有下一组书才能有空行。
#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了!
是最后那空行的问题
要有下一组书才能有空行。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询