Chapter 2-1 闰年和素数两个重点算法 程序编写

程序=数据结构+算法

算法:解决问题的方法步骤

这一章的两个重点问题:闰年和素数

  • 设计一个程序判断这一年是闰年还是平年

先分析闰年的条件(满足下面其一):

  1. 能被4整除,不能被100整除
  2. 能被400整除

方法一:(繁琐,多个条件一步步判断)

要特别注意花括号的位置,判断流程,写法可以有多种

#include<stdio.h>
int main()
{
	int year;
	printf("请输入年份(例如2020):\n");
	scanf("%d",&year);
	if(year%4==0)
	{	if(year%100!=0)
			printf("这一年是闰年\n"); 
		if(year%400==0)
			printf("这一年是闰年\n");}
	else
			printf("这一年是平年\n");
		
	return 0;
}

方法二:(简洁,一次性判断)

#include<stdio.h>
int main()
{
	int year;
	printf("请输入年份(例如2020):\n");
	scanf("%d",&year);
	if(year%4==0&&year%100!=0||year%400==0)
			printf("这一年是闰年\n"); 
	else
			printf("这一年是平年\n");
	return 0;
}
  •  设计一个程序判断一个数是不是素数

什么是素数:除了1和它本身,不能被其他任何整数整除

#include<stdio.h>
#include<math.h>
int main()
{
	int number,i,k;
	printf("请输入要判断的整数:\n");
	scanf("%d",&number);
	k=(int)sqrt(number);
	for(i=2;i<=k;i++)
		if(number%i==0)
			break;
	if(i>k)
		printf("这个数是素数\n");
	else
		printf("这个数不是素数\n");
	return 0;
}
  1. 要有一个头文件math包含sqrt
  2. 只需要逐次除以2—根号下number即可判断,再往后是多余的

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值