1、
#include<stdio.h>
int main(){
int year;
scanf("%d",&year);
if(year%400==0 || year%100!=0 && year%4==0)
printf("%d年是润年\n",year);
else
printf("%d年不是润年\n",year);
return 0;
}
2、
#include<stdio.h>
int main(){
int year,month;
int monthOfDay[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d %d",&year,&month);
if(month!=2)
printf("该月一共%d天\n",monthOfDay[month]);
else{
if(year%400==0 || year%100!=0 && year%4==0)
printf("该月一共%d天\n",monthOfDay[month]+1);
else
printf("该月一共%d天\n",monthOfDay[month]);
}
return 0;
}
3、
#include<stdio.h>
int main(){
int year,month,op;
int monthOfDay[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
printf("请选择:\n");
printf("1、判断闰年\n");
printf("2、判断某月多少天\n");
printf("输入其他数字退出\n");
scanf("%d",&op);
if(op==1){
printf("请输入年份:");
scanf("%d",&year);
if(year%400==0 || year%100!=0 && year%4==0)
printf("%d年是润年\n",year);
else
printf("%d年不是润年\n",year);
}
else if(op==2){
printf("请输入年月,以空格分开(例如1993 11):");
scanf("%d %d",&year,&month);
if(month!=2)
printf("该月一共%d天\n",monthOfDay[month]);
else{
if(year%400==0 || year%100!=0 && year%4==0)
printf("该月一共%d天\n",monthOfDay[month]+1);
else
printf("该月一共%d天\n",monthOfDay[month]);
}
}
else{
printf("退出啦!\n");
}
return 0;
}
4、我把上面几个功能转成函数了,否则代码量有点大了。。
#include<stdio.h>
int isLeapYear(int year);
int getDayOfMonth(int year,int month);
int main(){
int year,month,day;
int ans=0,i;
printf("请输入年月日,以空格分开(例如2015 12 20):");
scanf("%d %d %d",&year,&month,&day);
ans+=day;
for(i=1;i<month;i++)
ans+=getDayOfMonth(year,i);
printf("这是%d年中的第%d天\n",year,ans);
return 0;
}
int isLeapYear(int year){
if(year%400==0 || year%100!=0 && year%4==0)
return 1;
return 0;
}
int getDayOfMonth(int year,int month){
int monthOfDay[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(month!=2)
return monthOfDay[month];
return monthOfDay[month]+isLeapYear(year);
}
5、用函数跑还是比较方便的
#include<stdio.h>
#include<windows.h>
int isLeapYear(int year);
int getDayOfMonth(int year,int month);
int getDayOdYearFormData(int year,int month,int day);
int main(){
int year,month,day,op;
int ans=0,i;
while(1){
printf("请选择:\n");
printf("1、判断闰年\n");
printf("2、计算某月多少天\n");
printf("3、计算某日是一年中的第几天\n");
printf("输入其他数字退出\n");
scanf("%d",&op);
if(op==1){
printf("请输入年份:");
scanf("%d",&year);
if(isLeapYear(year)==1)
printf("%d年是润年\n",year);
else
printf("%d年不是润年\n",year);
}
else if(op==2){
printf("请输入年月,以空格分开(例如1993 11):");
scanf("%d %d",&year,&month);
printf("该月一共%d天\n",getDayOfMonth(year,month));
}
else if(op==3){
printf("请输入年月日,以空格分开(例如2015 12 20):");
scanf("%d %d %d",&year,&month,&day);
printf("这是%d年中的第%d天\n",year,getDayOdYearFormData(year,month,day));
}
else{
printf("退出啦!\n");
system("pause");
break;
}
system("pause");
}
return 0;
}
int isLeapYear(int year){
if(year%400==0 || year%100!=0 && year%4==0)
return 1;
return 0;
}
int getDayOfMonth(int year,int month){
int monthOfDay[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(month!=2)
return monthOfDay[month];
return monthOfDay[month]+isLeapYear(year);
}
int getDayOdYearFormData(int year,int month,int day){
int i,ans=0;
ans+=day;
for(i=1;i<month;i++)
ans+=getDayOfMonth(year,i);
return ans;
}
6、
#include<stdio.h>
int main(){
int i,j;
for(i=0;i<5;i++){
for(j=0;j<4-i;j++)
printf(" ");
for(j=0;j<2*i+1;j++)
printf("*");
printf("\n");
}
return 0;
}
追问最后一个如果输出n行for循环里什么条件?
追答#include
int main(){
int i,j,n;
printf("请输入行数:");
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n-1-i;j++)
printf(" ");
for(j=0;j<2*i+1;j++)
printf("*");
printf("\n");
}
return 0;
}