输入年、月,输出该月有多少天。 (数组)
( 1, 3, 5, 7, 8, 10, 12月,31天。 if(month==1||month==3)
4, 6, 9, 11月,30天。
2月, 闰年, 29天;平年, 28天。)
#include<stdio.h>
int main()
{
int year,month,day,days;
printf("请输入年、月:");
scanf("%d %d",&year,&month);
if(month<1||month>13)
{
printf("数据不合法!\n");
}
else
{
switch(month)
{
case 1:days=31;break; //注意break一定不能少!
case 2:
if(year%4==0&&year%100!=0||year%400==0) //区分闰年和平年
days=29;
else
days=28;
break;
case 3:days=31;break;
case 4:days=30;break;
case 5:days=31;break;
case 6:days=30;break;
case 7:days=31;break;
case 8:days=31;break;
case 9:days=30;break;
case 10:days=31;break;
case 11:days=30;break;
case 12:days=31;break;
}
printf("%d年%d月有%d天\n",year,month,days);
}
return 0;
}
输入圆的半径,输出该圆的周长和面积。若半径小于0,提示“输入不合法”。
#include <stdio.h>
#define PI 3.14
int main()
{
double r,s,l;
printf("请输入圆的半径:");
scanf("%lf",&r);
if(r<0){
printf("输入不合法\n");
}
else{
s=PI*r*r;
l=2*PI*r;
printf("圆的周长为:%.2lf,面积为:%.2lf",l,s);
}
return 0;
}
输入学生成绩,输出等级,规则如下:
90~100 A
80~89 B
70~79 C
60~69 D
不及格 E
要求:使用if和switch分别实现。
方法一:if语句
#include<stdio.h>
int main()
{
int score;
printf("请输入成绩:");
scanf("%d",&score);
if(score>=0 && score<=100)
{
if(score>=90)
printf("A\n");
else if(score>=80)
printf("B\n");
else if(score>=70)
printf("C\n");
else if(score>=60)
printf("D\n");
else
printf("E\n");
}
else
{
printf("成绩不合法!\n");
}
return 0;
}
方法二:switch语句
#include<stdio.h>
int main()
{
int score; //double
printf("请输入成绩:");
scanf("%d",&score);
if(score>=0 && score<=100)
{
switch((int)score/10) //整型 字符型
{
case 10:
case 9:printf("A\n");break;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
default:printf("E\n");
}
}
else
{
printf("成绩不合法!\n");
}
return 0;
}