一.代码风格
要求:请浏览上⽅链接的内容,本门课程已学知识涉及到了哪些内容?请挑出其中3
个,并摘抄下来。重点浏览 「8. 注释」「9.8. 条件语句」「9.9. 循环和开关选择语
句」。
思考:作为⼀名初学者,请描述⼀下什么是代码缩进,你平时是否有严格要求⾃⼰进
⾏代码缩进呢?
摘抄与思考
-
注释: // 或 / / 都可以; 但 // 更 常用. 要在如何注释及注释风格上确保统一.
-
条件语句:倾向于不在圆括号内使用空格. 关键字 if 和 else 另起一行.
注意所有情况下 if 和左圆括号间都有个空格. 右圆括号和左大括号之间也要有个空格
反思:我一般都没有加空格,本次作业及以后会改进 -
循环和开关选择语句:switch 语句可以使用大括号分段, 以表明 cases 之间不是连在一起的. 在单语句循环里, 括号可用可不用. 空循环体应使用 {} 或 continue.
空循环体应使用 {} 或 continue, 而不是一个简单的分号.
代码缩进
作为初学者,我平时有在代码缩进,只不过不太严格,在接下来的作业及以后的代码编写过程中我会严格要求自己进行代码缩进的。
二.编程题
第一题
分别⽤ for while do-while 实现:计算并输出 n! = 1 × 2 × 3 × ⋯× n
for
#include <stdio.h>
int main()
{
int i, n;
int sum = 1;
scanf("%d",&n);
for (i=1; i<=n; i++)
{
sum*=i;
}
printf("%d", sum);
return 0;
}
while
#include <stdio.h>
int main()
{
int i=1, n;
int sum = 1;
scanf("%d", &n);
while (i<=n)
{
sum*=i;
i++;
}
printf("%d", sum);
return 0;
}
do-while
#include <stdio.h>
int main()
{
int i=1, n;
int sum = 1;
scanf("%d", &n);
do
{
sum*=i;
i++;
} while (i<=n);
printf("%d", sum);
return 0;
}
第二题
#include <stdio.h>
int main()
{
double i=1,sign=1,sum=0;
while (1/i>=1e-6)
{
sum += sign/i;
sign = -sign;//根据公式一加一减
i += 2;
}
sum *= 4;
printf("%lf",sum);
return 0;
}
第三题
编写⼀个程序,使⽤ while 循环计算斐波那契数列的前20个数字,并将它们输出到
屏幕上。
什么是斐波那契数列?斐波那契数列是⼀个数学上的经典数列,起始于0和1,之后的
每⼀项都是前两项的和。它的前⼋项为:0,1,1,2,3,5,8,13,……
int main()
{
int num1 = 0, num2 =1, i = 1;
int sum;
printf("%d %d ", num1, num2);
while (i<=18)
{
sum = num1 + num2;
num1 = num2;
num2 = sum;
i++;
printf("%d ", sum);
}
return 0;
}
附加题
第一题
编写⼀个程序,接受⽤户输⼊的整数,然后按照相反的顺序输出这些数字。例如,输
⼊为 12345,输出应为 54321。
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
if (n/10!=0)
{
for (n;n/10!=0;)
{
printf("%d", n%10);
n = n/10;
}
printf("%d", n);
} else {
printf("%d", n);
}
return 0;
}