
C语言的一道简单题目,要求手动计算。求详解。答案为416. 50
#include<stdio.h>intmain(){inta[3],b[3];inti,j,tmp;for(i=0;i<3;i++)scanf("%d",&b[i]);...
#include <stdio.h>
int main()
{
int a[3],b[3];
int i,j,tmp;
for (i=0;i<3;i++)
scanf("%d",&b[i]);
for (i=0;i<3;i++)
{
a[i]=0;
for (j=0;j<=i;j++)
{
a[i]+=b[j];
b[a[i]%3]+=a[j];
}
}
tmp=1;
for (i=0;i<3;i++)
{
a[i]%=10;
b[i]%=10;
tmp*=a[i]+b[i];
}
printf("%d\n",tmp);
return 0;
}
2 3 5 展开
int main()
{
int a[3],b[3];
int i,j,tmp;
for (i=0;i<3;i++)
scanf("%d",&b[i]);
for (i=0;i<3;i++)
{
a[i]=0;
for (j=0;j<=i;j++)
{
a[i]+=b[j];
b[a[i]%3]+=a[j];
}
}
tmp=1;
for (i=0;i<3;i++)
{
a[i]%=10;
b[i]%=10;
tmp*=a[i]+b[i];
}
printf("%d\n",tmp);
return 0;
}
2 3 5 展开
5个回答
展开全部
输入?
你要是想偷懒直接在每个for中直接输出变量就能直接看到。
单步调试更好
a[0]=2 a[0]=2
a[0]=2 a[0]=2
a[1]=2 a[0]=2
a[1]=2 a[0]=2
a[1]=5 a[1]=3
a[1]=5 a[1]=3
a[2]=2 a[0]=2
a[2]=2 a[0]=2
a[2]=5 a[1]=3
a[2]=5 a[1]=3
a[2]=26 a[2]=21
a[2]=26 a[2]=47
a[0]=2 a[3]=-858993460
tmp=4
a[1]=5 a[3]=-858993460
tmp=32
a[2]=6 a[3]=-858993460
tmp=416
416
你要是想偷懒直接在每个for中直接输出变量就能直接看到。
单步调试更好
a[0]=2 a[0]=2
a[0]=2 a[0]=2
a[1]=2 a[0]=2
a[1]=2 a[0]=2
a[1]=5 a[1]=3
a[1]=5 a[1]=3
a[2]=2 a[0]=2
a[2]=2 a[0]=2
a[2]=5 a[1]=3
a[2]=5 a[1]=3
a[2]=26 a[2]=21
a[2]=26 a[2]=47
a[0]=2 a[3]=-858993460
tmp=4
a[1]=5 a[3]=-858993460
tmp=32
a[2]=6 a[3]=-858993460
tmp=416
416
更多追问追答
追问
不好意思 ,忘了给输入了。
追答
不过别人说的也有道理题目要自己做。
至于你说的技巧,那是程序的熟练度,调试多了就会了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种程序都不懂,也不自己花时间去看,也不知道你学这C有什么用???
更多追问追答
追问
有种你自己计一次
追答
呵呵,你是学生吧,没猜错的话刚上大一
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先要把题目看明白. 第一行的输入是指要输入a和b的对数,从第二行开始,我用C语言写的一个 #include
追问
C我会用,这些不用解析。关键是有没有技巧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大哥,b[i]数组是你自己手动输入的吧,那你的结果应该跟你的输入有关系吧?怎么可能就是答案固定呢? 除非这个跟b[i]数组无关。
自己在第二个for里面,加printf,把每次的tmp输出来你就看出来了啊。
自己在第二个for里面,加printf,把每次的tmp输出来你就看出来了啊。
更多追问追答
追问
输入2 3 5 我已经在上面补充了
追答
底下一个for循环可以看出,a[i],b[i]里,只要都小于等于10的,就不会对tmp起作用,因为对10取余以后为0,乘积为0,就只要考虑a[i]和b[i]里至少有一个大于10的数就可以了。
上面的循环,看起来式子比较复杂,不过也就3*3,9次循环,一个一个推导,应该可以得到结果的啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这东西本应让计算机算的,人算。。。
我错了。。。
我错了。。。
更多追问追答
追问
noip听过吧,堪称非人哉。
追答
你是在搞 acm 么?
其实我觉得还是把中间数据全部输出到一个文件,自己再看着程序走一遍结果,就能够比较容易理解了。
前人的脚印堪称后人的捷径,但巨人的肩膀也仅仅是个平台,走到高处就靠以前积累的经验来自创武功了。
刚搜了noip看一眼,还不算是acm,不过一般搞的好的到大学应该会走acm吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询