C语言第四次作业(1233zj)

T1

摘抄:1.不要描述显而易见的现象, 永远不要 用自然语言翻译代码作为注释, 除非即使对深入理解 C++ 的读者来说代码的行为都是不明显的. 要假设读代码的人 C++ 水平比你高, 即便他/她可能不知道你的用意:

2.通常, 单行语句不需要使用大括号, 如果你喜欢用也没问题; 复杂的条件或循环语句用大括号可读性会更好. 也有一些项目要求 if 必须总是使用大括号:
3.基本上每个函数声明处前都应当加上注释, 描述函数的功能和用途. 只有在函数的功能简单而明显时才能省略这些注释

关于代码缩进:

代码整体更加整洁,更加具有可读性(老师可以通宵看1000000000行),也方便后期的检查,避免造成误读

T2

运用for循环

#include <stdio.h>

int main()
{
	int a=0,b=1,n=0;
	scanf ("%d",&n);
	for (a = 1 ;a <= n; a++) { 
		b=b*a; 
	}
	printf ("%d的阶乘为%d\n", n, b);
	return 0;
}

运用while循环

#include<stdio.h>



int main()
{
 
 int i=1,n=0;
 int sum=1;
 
 scanf("%d",&n);           
 while(i<=n)                
 {
	sum=sum*i;             
	i++;                                      
 }
 printf("%d的阶乘是%d",n,sum);
}

运用do while循环

#include<stdio.h>
int main()
{
	int t=0,n=0,sum=1;
	scanf("%d",&n);
	t=n;
	if(n>0)
	{
		do
		{
			sum*=n;
			n--;
		}while(n);
	}
	printf("%d的阶乘是%d\n",t,sum);
	return 0;
}

都是一样的结果,所以只放一张终端的图老师应该不会介意吧

在这里插入图片描述

T3

老师我不会

T4

#include <stdio.h>
int main()
{
	int i=0, n=0, t1 =1, t2 = 1, nextTerm=0;
	printf("输出多少项: ");
	scanf("%d", &n);
	printf("斐波那契数列%d项: ",n);
	for (i = 1; i <= n; ++i)
	{
		printf("%d ", t1);
		nextTerm = t1 + t2;
		t1 = t2;
		t2 = nextTerm;
	}
	return 0;
}

在这里插入图片描述
这题的难点主要是在算法的设计上,首先找到数列的规律,从第三项开始为前两项的和,也用了一个空闲变量t2去储存下一个项的值,等下一次进循环时候输出即可

附加题

#include<stdio.h>
 
int main()
{
	int x;
     scanf("%d", &x);
	int digit;
	int ret=0; 
	
	while ( x>0 ) {
		digit=x%10;
		ret = ret*10 + digit;
		x /=10;
	}
	printf("%d",ret);
	
	return 0;
}

在这里插入图片描述
这题其实主要是整数拆解之后的整理,只要将拆解出来的数字左移一位,就是将上一个数组用*10再加上这一次拆解的数字即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值