juliusun.com
(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 本教程内容由本站保留版权,请勿复制传播。