10级C语言课程网络公开赛3

10级C语言课程网络公开赛3


参加竞赛人数
 42
解答题目人数
 37
 zdj
创建者
开始时间
2011-03-19 14:00:00.0
结束时间
2011-03-19 17:00:00.0
当前时间
2024-07-03 00:55:44
状态
已结束

题库:

题目号
标题
正确率(正确/总提交)
正确解答人数
提交人数
最佳解决(者)
A
52%( 36/ 69)
36
39
15MS/fenghun
B
9%( 4/ 44)
4
10
0MS/lviiii
C
15%( 7/ 46)
7
13
31MS/sxz
D
20%( 13/ 64)
5
16

解题报告:
该解题报告由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的 溢出了 开一万就不会了

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

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