#include
#include
int main(void)
{
int total_day;
int year,month,day;
printf(“请输入年,月:”);
scanf(“%d%d”,&year,&month);
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:day=31;break;
case 4:
case 6:
case 9:
case 11:day=30;break;
case 2:
if((year%4==0&&year%100!=0)||(year%400==0))
{
day=29;
break;
}
else
{
day=28;
break;
}
default:printf(“error\n”);break; //这点要改,你不能让day直接等于错误。还有你没有判断年天数。
}
if((year%4==0&&year%100!=0)||(year%400==0))
{
total_day=366;
}
else
{
total_day=365;
}
printf(“年天数=%d月天数=%d\n”,total_day,day);
}
/*输入时请注意格式和实际月份*/
#include
int day(int &year, int &month);
int main()
{
int year{};
int month{};
std::cout << “请输入年和月(空格隔开):”;
std::cin >> year >> month;
std::cout << “该月天数:” << day(year, month) << ‘\n’;
return 0;
}
int day(int &year, int &month)
{
int t{};
if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
t = 31;
else if(month == 2)
{
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
t = 29;
else
t = 28;
}
else
t = 30;
return t;
}
问题确实好多,要多练习啊
void main()
{
int year,month,days; //年月日怎么能用浮点数据?
printf(“input year,month=?\n”);
scanf(“%d%d”,&year,&month); //输入格式要正确
switch(month)//关键字要写正确
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=31;
break; //continue是循环中才用的!!
case 4:
case 6:
case 9:
case 11:
days=30;
break ;//
case 2:
if((year%4==0)&&(year%100==0)||(year%400==0))
days=29; //反了
else
days=28; //
break;
default:
printf(“month is error\n”);
}
printf(“year=%d,month=%d,days=%d\n”,year,month,days);
}
#include
#include
#include
int main(void)
{
float a,b,c,s,area,perimeter;
scanf(“%f%f%f”,&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
perimeter=a+b+c;
if(a+b>c&&a+c>b&&b+c>a)//这里应该用与(&&)不能用或(||)
{
printf(“area=%。2lf,perimeter=%。2lf”,area,perimeter);
}
else{
printf(“These sides do not correspond to a valid triangle”);
}
system(“pause”);
return 0;
}