求对这道C语言题目的分析

#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
输出:_______
展开
 我来答
worldxa
2011-10-15 · TA获得超过1720个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:718万
展开全部
#include <stdio.h>

int main()
{
int a[3],b[3]; /*定义两个维度都为3的一维整型数组*/
int i,j,tmp; /*定义三个整型变量*/
for (i=0;i<3;i++)
scanf("%d",&b[i]); /*输入数字,总共执行三次*/
for (i=0;i<3;i++)
{
a[i]=0; /*初始化数组a的一个元素的值为0*/
for (j=0;j<=i;j++)
{
a[i]+=b[j]; /*相当于 a[i]=a[i]+b[j];*/
b[a[i]%3]+=a[j]; /*相当于 b[x]=b[x]+a[j]; x的值根据 a[j]%3 确定*/
}
}
tmp=1; /*初始化tmp的值为1*/
for (i=0;i<3;i++)
{
a[i]%=10; /*相当于a[i]=a[i]%10;*/
b[i]%=10; /*相当于b[i]=b[i]%10;*/
tmp*=a[i]+b[i]; /*相当于tmp=tmp*(a[i]+b[i]);*/
}
printf("%d\n",tmp); /*输出 tmp的值*/
return 0; /*返回函数值,看情况,如果main是void类型就可以写 return;或不写*/
}

输出:416

希望回答对你有帮助
xlghn
2011-10-15 · 超过29用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:86.8万
展开全部
你那一步不懂??
更多追问追答
追问
刚刚接触NOIP的试题 所以能不能详细的分析一下?
【3】是指……?
for循环scanf("%d",&b[i]);是什么意思?

{
a[i]+=b[j];
b[a[i]%3]+=a[j];
}
这一部分循环?
tmp又是……?
追答
for循环scanf("%d",&b[i]);是给数组b赋值,
a[3]表示数组中有三个数,这是最基础的了,要多看看属哟。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式