程序=数据结构+算法
算法:解决问题的方法步骤
这一章的两个重点问题:闰年和素数
- 设计一个程序判断这一年是闰年还是平年
先分析闰年的条件(满足下面其一):
- 能被4整除,不能被100整除
- 能被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;
}
- 要有一个头文件math包含sqrt
- 只需要逐次除以2—根号下number即可判断,再往后是多余的