项目1 计算素数个数并求和
【项目说明】利用函数计算素数个数并求和: 输入 2 个正整数 m 和 n(2<=m, n<=500),统计并输出m 到 n 之间的素数的个数以及这些素数的和。要求定义并调用函数 prime(m) 判断 m 是否为素数,当 m 为素数时
返回 1,否则返回 0。
程序源代码
#include<stdio.h>
int prime(int m)
{
int i;
for(i=2;i<m;i++)
{
if(m%i==0)//如果m可以整除i,那么跳出循环
{
break;
}
}
if(i==m)//如果i等于m,那么就说明m为素数,返回1;反之返回0
{
return 1;
}
else{
return 0;
}
}
int main()
{
int m,n,c,i,num=0,ans=0;
scanf("%d%d",&m,&n);
if(m>=2&&m<=500&&n>=2&&n<=500&&n>m)
{
for(int i=m+1;i<n;i++)
{
c=prime(i);
if(c==1)
{
num++;
ans+=i;
}
}
}
printf("m到n之间(不包括m,n)的素数的个数为%d\n这些素数的和为%d\n",num,ans);
}
项目2 输出每个月的天数
【项目说明】输入年 year,输出该年 1~12 月每个月的天数。
其中 1、3、5、7、8、10、12 月有 31 天,4、6、9、11 月有 30 天,2 月平年有 28 天,闰年有 29 天。判断闰年的条件是:能被 4 整除但不能被 100 整除,或者能被 400 整除。
要求定义并调用函数month_days(year, month),该函数返回 year 年 month 月的天数。
程序源代码
#include <stdio.h>
int month_days(int year,int month)
{
if((year%4==0&&year%10!=0)||year%400==0)
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
break;
case 4:
case 6:
case 9:
case 11:
return 30;
break;
case 2:
return 29;
break;
}
}
else
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
break;
case 4:
case 6:
case 9:
case 11:
return 30;
break;
case 2:
return 29;
break;
}
}
}
int main()
{
int year,month,day;
scanf("%d",&year);
for(int month=1;month<=12;month++)
{
day=month_days(year,month);
printf("%d年%d月的天数为%d\n",year,month,day);
}
return 0;
}