杭电1013题,我测试都对了,但却是WA,求教
#include<stdio.h>intmain(){longn;while(scanf("%d",&n),n){if(n<=9)printf("%d\n",n);els...
#include<stdio.h>
int main()
{
long n;
while(scanf("%d",&n),n)
{
if(n<=9)
printf("%d\n",n);
else
printf("%d\n",n%9);
}
return 0;
} 展开
int main()
{
long n;
while(scanf("%d",&n),n)
{
if(n<=9)
printf("%d\n",n);
else
printf("%d\n",n%9);
}
return 0;
} 展开
2个回答
展开全部
你的代码有俩问题
1、当n>=10时,答案是不可能出现0的,你直接用n%9就错了
2、数据输入没说多少位,所以可能高达十进制的1000位,而不仅仅是在int或longlong范围内,所以不能直接输入一个long型n。
以下是修正后的参考代码,你可以看看:
#include<stdio.h>
int main()
{
char s[5000];
long n;
while(scanf("%s", s))
{
if(s[0] == '0' && ! s[1]) break;
n = 0;
for(int i = 0; s[i]; i ++) {
n += s[i] - '0';
}
if(n<=9)
printf("%d\n",n);
else {
int ans = n % 9;
if(ans != 0) {
printf("%d\n", ans);
} else {
printf("%d\n", 9);
}
}
}
return 0;
}
1、当n>=10时,答案是不可能出现0的,你直接用n%9就错了
2、数据输入没说多少位,所以可能高达十进制的1000位,而不仅仅是在int或longlong范围内,所以不能直接输入一个long型n。
以下是修正后的参考代码,你可以看看:
#include<stdio.h>
int main()
{
char s[5000];
long n;
while(scanf("%s", s))
{
if(s[0] == '0' && ! s[1]) break;
n = 0;
for(int i = 0; s[i]; i ++) {
n += s[i] - '0';
}
if(n<=9)
printf("%d\n",n);
else {
int ans = n % 9;
if(ans != 0) {
printf("%d\n", ans);
} else {
printf("%d\n", 9);
}
}
}
return 0;
}
约克仪器
2024-10-21 广告
2024-10-21 广告
测温电桥是测温领域中测量准确度最高的一类电测设备,可以用来精确测量标准铂电阻温度计,电阻温度计和热敏电阻电阻值、部分测温电桥还可以对热电偶进行测量。约克仪器测温电桥2017年4月1日,英国ISOTECH公司由于microK系列测温电桥的技术...
点击进入详情页
本回答由约克仪器提供
展开全部
。。。。这不是半程测试的。。
我AC了。。马上给你敲代码。。
敲好了。
用G++提交。。
#include<stdio.h>
#include<algorithm>
using namespace std;
int a[2000008];
int main()
{
int n,m;
int i;
int count;
while(scanf("%d%d",&n,&m),n||m)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(;i<n+m;i++)
scanf("%d",&a[i]);
sort(a,a+n+m);
count=0;
for(i=1;i<n+m;i++)
if(a[i]==a[i-1])
count++;
printf("%d\n",count);
}
return 0;
}
我AC了。。马上给你敲代码。。
敲好了。
用G++提交。。
#include<stdio.h>
#include<algorithm>
using namespace std;
int a[2000008];
int main()
{
int n,m;
int i;
int count;
while(scanf("%d%d",&n,&m),n||m)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(;i<n+m;i++)
scanf("%d",&a[i]);
sort(a,a+n+m);
count=0;
for(i=1;i<n+m;i++)
if(a[i]==a[i-1])
count++;
printf("%d\n",count);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询