//2023C++电子 0224022 黄一果
//第二章习题2-6
//输出1000年(包括1000年)到1999年之间的所有闰年,要求每3个一行,分行输出
#include<stdio.h>
int main()
{
int year=1000;
int i=0;
while(year<2000)
{
if((year%400==0)&&(year%100==0)||(year%4==0&&year%100!=0))
{
printf("%d ",year);
i++;
}
year++;
if((i%3==0)&&(i>=3))
{
printf("\n");
i=0;
}
}
return 0;
}
//2023C++电子 0224022 黄一果
//第二章习题2-10
//输入年号和月份,输出这一年该月的天数。(提示:首先要判断输入年份是否为闰年)
#include<stdio.h>
int main()
{
int year=0;
int month=0;
while(1)
{
printf("请输入年号,月份:");
scanf("%d,%d",&year,&month);
if((year%400==0)||
((year%4==0)&&(year%100!=0)))
{
if(month==2)
{printf("29\n");}
else if((month==1)||(month==3)||(month==5)||(month==7)||
(month==8)||(month==10)||(month==12))
{ printf("31\n");}
else
{ printf("30\n");}
}
else
{
if(month==2)
{printf("28\n");}
else if((month==1)||(month==3)||(month==5)||(month==7)||
(month==8)||(month==10)||(month==12))
{ printf("31\n");}
else
{ printf("30\n");}
}
}
return 0;
}
//2023C++电子 0224022 黄一果
//第二章习题2-24
//一个整数等于该数所有因子之和,则称该数是一个完数。输出3位数中所有完数。
#include<stdio.h>
int main()
{
int n,i,m;
for(n=100;n<1000;n++)
{
m=1;
for(int i=2;i<n;i++)
{
if(n%i==0)
{
m=m+i;
}
}
if(m==n)
{
printf("%d\n",n);
}
}
return 0;
}
//2023C++电子 0224022 黄一果
//第二章习题2-28
//编程求数列1,1/2,1/3,1/4,...的所有大于等于0.00001的数据项之和并输出结果
#include<stdio.h>
int main()
{
float n,sum=0;
for(n=1;n<=1000000;n++)
{
sum+=1/n;
}
printf("%f\n",sum);
return 0;
}