(9/50 节 页面下方包含QQ群、作者QQ等)
1、润年判断,用户输入年份,判断年份是否是润年
年份是整百数时,必须是400的倍数才是闰年,否则不是;
年份不是整百数时,是4的倍数是润年,否则不是。
这就是通常所说的:四年一闰,百年不闰,四百年再闰
例:2000年是闰年,2100年则不是润年
//参考答案1,判断嵌套
#include<stdio.h>
int main()
{
int y; //记录年份
int is;//是否润年,1为润年,0不是
printf("请输入年份:\n");
scanf("%d",&y);
//对100取余判断100的整数倍
//也可写作:if( y % 100 )
if( (y % 100) != 0)
{
if( (y % 4) == 0)
{
is = 1; //是润年
}
else
{
is = 0; //不是润年
}
}
else//100倍数则执行else语句块
{
if( (y % 400) == 0 )
{
is = 1;
}
else
{
is = 0;
}
}
if( is == 0 )
{
printf("%d 年不是润年",y);
}
else
{
printf("%d 年是润年",y);
}
//让用户输入回车,达到暂停目的
scanf("\n\n\n\n");
return 0;
}
//参考答案2-简洁型-适合理解深入者
#include<stdio.h>
int main()
{
int y; //记录年份
printf("请输入年份:\n");
scanf("%d",&y);
if( ((y % 400) == 0) || (((y % 4) == 0) && ((y % 100) != 0)))
printf("%d 年是润年",y); //只有一条语句可省略花括号{}
else
printf("%d 年不是润年",y);
//让用户输入回车,达到暂停目的
scanf("\n\n\n\n");
return 0;
}
2、用户输入不重复的3个整数a、b、c,输出3个数中哪个数字最大。如用户输入3、2、1,则输出a最大
#include<stdio.h>
int main()
{
int a,b,c;
printf("输入a b c,空格分隔\n");
scanf("%d %d %d",&a,&b,&c);
if(a > b)//找出a b中较大值
{
if(a > c)//如果a大,a与c比
{
printf("a最大");
}
else
{
printf("c最大");
}
}
else
{
if(b > c)//如果b大,b与c比
{
printf("b最大");
}
else
{
printf("c最大");
}
}
//让用户输入回车,达到暂停目的
scanf("\n\n\n\n");
return 0;
}3、有一个函数
输入 x 的值,输出相应的 y 值,x、y皆为整数
#include<stdio.h>
int main()
{
int x,y;
scanf("%d",&x);
if( x < 1)
{
y = x;
}
else
{
if(x <10)
{
y = 2 * x - 1;
}
else
{
y = 3 * x - 11;
}
}
printf("y值为 %d",y);
//让用户输入回车,达到暂停目的
scanf("\n\n\n\n");
return 0;
}4、有4个圆塔,圆心分别为 (2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1(即1米),4个塔高度是 10m (即10个坐标)。塔外无建筑物,现在输入一个坐标,求该点高度。塔外高度均为0。使用float精度即可
#include<stdio.h>
int main()
{
float x,y;
printf("请输入坐标x,y,逗号分隔\n");
scanf("%f,%f",&x,&y);
/*由于坐标上与下、左与右均对称
因此x,y与其绝对值高度是相等的
只需要计算x,y绝对值坐标高度
*/
if(x < 0)
{
x = -1 * x;
}
if(y < 0)
{
y = -1 * x;
}
/*此时x,y分别是坐标绝对值
坐标与(2,2)点距离如果小于等于1,
则高度是10,否则是0
使用勾股定理*/
if((x-2)*(x-2) + (y-2) *(y-2) > 1)
{
printf("高度是0");
}
else
{
printf("高度是10");
}
//让用户输入回车,达到暂停目的
scanf("\n\n\n\n");
return 0;
}
作者:冥河 QQ:3304576112
交流QQ群:554701039
本教程内容由本站保留版权,请勿复制传播。