第五章:新生赛的挑战(2/2)
虾皮小说【www.xpxs.net】第一时间更新《热血编程之薛小松重生福工》最新章节。
scanf(“%d“,&n);
printf(“斐波那契数列的第%d项是:%d\n“, n, fibonacci(n));
return 0;
}
然而,当他提交测试时,系统却显示错误。薛小松没有慌乱,他仔细检查代码,发现了一个细微的逻辑错误——递归函数的效率太低,容易超时。
“该死,我怎么没想到优化一下?”薛小松低声咒骂了一句。
他迅速修改代码,采用动态规划的方式重新实现。
#include
int fibonacci(int n){
if (n <= 0){
return 0;
}
int a = 0, b = 1, c;
for (int i = 2; i <= n; i++){
c = a + b;
a = b;
b = c;
}
return b;
}
int main(){
int n;
printf(“请输入n:“);
scanf(“%d“,&n);
printf(“斐波那契数列的第%d项是:%d\n“, n, fibonacci(n));
return 0;
}
修改后,他再次提交,这次顺利通过。此时,距离比赛结束还有不到半小时,他迅速将注意力转向最后一题。
最后一题是一道综合性的题目,要求编写一个程序,输入一个字符串,统计其中的字母、数字和空格的数量。
薛小松深吸一口气,开始认真思考。时间一分一秒地过去,他终于在比赛结束前几分钟完成了代码。
#include
int main(){
char str[100];
int letters = 0, digits = 0, spaces = 0;
printf(“请输入一个字符串:“);
fgets(str, sizeof(str), stdin);
for (int i = 0; str[i]!='\0'; i++){
if ((str[i]>='a'&& str[i]<='z')||(str[i]>='A'&& str[i]<='Z')){
letters++;
} else if (str[i]>='0'&& str[i]<='9'){
digits++;
} else if (str[i]==''){
spaces++;
}
}
printf(“字母数量:%d\n“, letters);
printf(“数字数量:%d\n“, digits);
printf(“空格数量:%d\n“, spaces);
return 0;
}
```
提交后,系统显示“通过”,薛小松终于松了口气。比赛结束后,他疲惫地走出体育馆,心中既紧张又期待。他知道自己的表现不错,但比赛的结果还需要等待。
“小松,你太厉害了,最后一题我也卡住了,你居然做出来了!”小李追上薛小松,满脸钦佩地说。
薛小松笑了笑:“运气好而已,回去等结果吧。”
“运气?我看是实力!”小李调侃道,“你这段时间的努力可不是白费的。”
薛小松没有回应,只是微微一笑。他知道,这次比赛的结果对他来说至关重要。如果能进入ACM集训队,他将有机会接触到更高级的编程知识和竞赛训练,这对于他未来的职业发展有着不可估量的意义。
回到宿舍,薛小松躺在床上,闭上眼睛,脑海中还在回放着比赛的场景。他想起了自己在大学四年里的颓废,想起了毕业时的迷茫和无奈,也想起了这次重生的机会。他暗暗发誓,一定要抓住这次机会,改变自己的命运。
第二天,比赛结果公布。薛小松早早地来到教室,和小李一起等待成绩的公布。教室里坐满了参赛的学生,大家都显得有些紧张。薛小松的心跳得厉害,但他努力让自己保持冷静。
终于,比赛的负责人走了进来,手里拿着一份名单。他清了清嗓子,说道:“恭喜以下同学进入ACM集训队……”
薛小松紧紧握住小李的手,眼睛一眨不眨地盯着负责人手中的名单。
“薛小松……”当这个名字被念到时,薛小松的心跳几乎要跳出嗓子眼,他感到一阵难以抑制的激动。旁边的队友小李猛地拍了一下他的肩膀,大声说道:“恭喜啊!我就知道你能行!”周围的同学们也纷纷投来羡慕的目光,这让薛小松的脸微微有些发烫。
他站起身,接过负责人递过来的集训队录取通知,心中充满了复杂的情绪。这一刻,他仿佛看到了自己未来的可能性,那些曾经因为懒惰和放纵而错失的机会,如今似乎又重新回到了他的手中。
“小松,你真是太厉害了!”小李还在兴奋地说道,“以后可要多带带我啊!”
薛小松笑了笑,点了点头,心中却在想:这次机会来之不易,我一定要好好珍惜。