作业(四)

第一题

要求:请浏览上⽅链接的内容,本门课程已学知识涉及到了哪些内容?请挑出其中3个,并摘抄下来。重点浏览「8.注释」「9.8. 条件语句」「9.9. 循环和开关选择语句」。
思考:作为⼀名初学者,请描述⼀下什么是代码缩进,你平时是否有严格要求⾃⼰进
⾏代码缩进呢?

总述

倾向于不在圆括号内使用空格. 关键字 if 和 else 另起一行.

说明

对基本条件语句有两种可以接受的格式. 一种在圆括号和条件之间有空格, 另一种没有。

 注意所有情况下 if 和左圆括号间都有个空格. 右圆括号和左大括号之间也要有个空格。

但如果语句中某个 if-else 分支使用了大括号的话, 其它分支也必须使用。

总述

switch 语句可以使用大括号分段, 以表明 cases 之间不是连在一起的. 在单语句循环里, 括号可用可不用. 空循环体应使用 {} 或 continue.

说明

switch 语句中的 case 块可以使用大括号也可以不用, 取决于你的个人喜好. 如果用的话, 要按照下文所述的方法.

如果有不满足 case 条件的枚举值, switch 应该总是包含一个 default 匹配 (如果有输入值没有 case 去处理, 编译器将给出 warning). 如果 default 应该永远执行不到, 简单的加条 assert

空循环体应使用 {} 或 continue, 而不是一个简单的分号.

 

 使用 // 或 /* */, 统一就好.

如果一个 .h 文件声明了多个概念, 则文件注释应当对文件的内容做一个大致的说明, 同时说明各概念之间的联系. 一个一到两行的文件注释就足够了, 对于每个概念的详细文档应当放在各个概念中, 而不是文件注释中.

不要在 .h 和 .cc 之间复制注释, 这样的注释偏离了注释的实际意义.

函数声明

基本上每个函数声明处前都应当加上注释, 描述函数的功能和用途. 只有在函数的功能简单而明显时才能省略这些注释(例如, 简单的取值和设值函数). 注释使用叙述式 (“Opens the file”) 而非指令式 (“Open the file”); 注释只是为了描述函数, 而不是命令函数做什么. 通常, 注释不会描述函数如何工作. 那是函数定义部分的事情.

函数声明处注释的内容:

  • 函数的输入输出.
  • 对类成员函数而言: 函数调用期间对象是否需要保持引用参数, 是否会释放这些参数.
  • 函数是否分配了必须由调用者释放的空间.
  • 参数是否可以为空指针.
  • 是否存在函数使用上的性能隐患.
  • 如果函数是可重入的, 其同步前提是什么?
  • 不要 从 .h 文件或其他地方的函数声明处直接复制注释. 简要重述函数功能是可以的, 但注释重点要放在如何实现上.

代码缩进就是通过在每一行代码前面插入一定数量的空格,使得代码块之间的关系更加清晰、可读性更高

以前没有,现在开始严格要求自己 

 

第二题

分别⽤ for while do-while 实现:计算并输出:
n! = 1 × 2 × 3 × … × n

 for循环

#include<stdio.h>
int main(){
	int n=0;
	int sum=1;
	int i;
    scanf("%d",&n);
	for(i=1;i<=n;i++){
		sum *=i;
	}
	printf("%d!=%d",n,sum);
	
	return 0;
}

while循环

#include<stdio.h>
 
int main()
{
	int n;
	int i=1,sum=1;
	scanf("%d",&n);	 
	while(i<=n)		
	{
		sum=sum*i;
		i++;	
	} 
	printf("%d!=%d",n,sum);
    return 0;
}

do - while 循环

 

#include<stdio.h>
 
int main()
{
	int n;
	int i=1,sum=1;
	scanf("%d",&n);	
	do{
		sum=sum*i;
		i++;
	}
	while(i<=n);
	printf("%d!=%d",n,sum);
    return 0;
}

 

3. 编程题(二):

计算圆周率π.

著名的莱布尼兹公式:3.14...4=∑∞k=0(−1)k2k+1=1−13+15−17+...+(−1)k2k+1

#include <stdio.h>
 
int main(){
    double y =0;
    int i =0;
    while (i<1000){ 
        if (i%2==0){
            y+=1.0/(2*i+1);
        } else {
            y-=1.0/(2*i+1);
        }
        i++;
    }
    double pi =4*y;
    printf("圆周率π的值为:%lf", pi);
    return 0;
}

 

 

 

4.编程题(三):

编写⼀个程序,使⽤ while 循环计算斐波那契数列的前20个数字,并将它们输出到屏幕上。

斐波那契数列是⼀个数学上的经典数列,起始于0和1,之后的 每⼀项都是前两项的和。它的前⼋项为:0,1,1,2,3,5,8,13,……

#include <stdio.h>

int main() {
    int a = 0, b = 1;
    int count = 0;
    while (count < 20) {
        printf("%d ", a);
        int temp = b;
        b = a + b;
        a = temp;
        count++;
    }

    return 0;
}

 

 

5.编程题(附加题):

编写⼀个程序,接受⽤户输⼊的整数,然后按照相反的顺序输出这些数字。例如,输⼊为 12345,输出应为 54321。

int main()
{
	int n;
	int t = 0;
	int d;
	scanf("%d", &n);
	do {                    
		d = n % 10;
		t = t * 10 + d;
		n/=10;
	} while (n > 0);
	printf("%d",t);
	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值