10级C语言课程网络公开赛3解题报告

c语言网络公开赛-by zdp

A:完全平方数

这个没什么好说的 主要讲一下输入 while(scanf("%d",&n)&&n!=-1)

B:小学生的作业

我自己是这样做的 有点麻烦

先用数组来存放A的每一位上的数字

在来一个循环判断即可

<!--StartFragment-->for(k=0;k<=i;k++)
     s=s+c[k]*func(k);
for(k=i+1,f=0;k<j;k++,f++)
m=m+c[k]*func(f);
     if(m+s==b)
     {        
    printf("%I64d+%I64d=%I64d\n",m,s,b);
    d=1;
    break;
}
还有一点 还是不要用了POW函数了 害我错了好几次

C:统计页码

这个我想了蛮久的 用二维数组做的 先用二维数组存放0,1000,2000,3000,4000,5000,6000,7000,8000,9000,10000时的0,1,2,3,4,5,6,7,8,9 的个数

再来一个判断就行了

x=n/1000;

for(i=x*1000+1;i<=n;i++)
{k=i;
while(k>0)
{
f=k%10;
k=k/10;
s[x][f]++;
}
}

D:羊村运动会――撑杆跳高

这个的话 题目给的信息有误 我数组开100的 溢出了 开一万就不会了

这道题目主要用一下快速排序 逐个相加判断一下就行了


为解题报告打分
暂时不评分

★★
★★★
★★★★
★★★★★
发表您的评论(若贴AC代码或发表禁止言论等违禁行为将被删除并扣除积分)

|返回 |   | 转到页头|
Copyright @ 2008-2024(浙ICP备2022001332号), TZOJ. All Rights Reserved.