目录
1.BC55 判断闰年
描述
判断一个整数n是否是闰年
输入描述:
输入一个整数n (1≤�≤20181≤n≤2018)
输出描述:
是闰年输出"yes" 否则输出"no"
置闰规则:
普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年(如2004年、2020年就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年)。
口诀:四年一闰,百年不闰,四百年又一闰。
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
if ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0)
printf("yes\n");
else
printf("no\n");
return 0;
}
2.BC56 判断字母
描述
从键盘任意输入一个字符,编程判断是否是字母(包括大小写)。
输入描述:
输入包括一个字符。
输出描述:
输出该字符是字母(YES)或不是(NO)。
#include<stdio.h>
int main()
{
char n;
scanf("%c", &n);
if ((n>='a'&&n<='z')||(n>='A'&&n<='Z'))
printf("YES\n");
else
printf("NO\n");
return 0;
}
3.BC61 牛牛的二三七整除
描述
牛牛从键盘输入一个整数,请你判断这个整数能被 2 3 7 中哪几个数整除,并按升序输出。如果不能被 2 3 7 任意一个数整除则输出 n。
输入描述:
输入一个整数
输出描述:
输出能被 2 3 7 哪几个数整除,并按升序输出。
#include<stdio.h>
int main()
{
int m;
scanf("%d", &m);
if (m % 2 == 0)
{
printf("2 ");
}
if (m % 3 == 0)
{
printf("3 ");
}
if(m%7==0)
{
printf("7 ");
}
if(m%2!=0&&m%3!=0&&m%7!=0)
printf("n\n");
return 0;
}
4.BC64 牛牛的快递
描述
牛牛正在寄快递,他了解到快递在 1kg 以内的按起步价 20 元计算,超出部分按每 kg 1元计算,不足 1kg 部分按 1kg计算。如果加急的话要额外付五元,请问牛牛总共要支付多少快递费
输入描述:
第一行输入一个单精度浮点数 a 和一个字符 b ,a 表示牛牛要寄的快递的重量,b表示牛牛是否选择加急,'y' 表示加急 ,'n' 表示不加急。
输出描述:
输出牛牛总共要支付的快递费用
#include<stdio.h>
int main()
{
float a;
char b;
int money;
scanf("%f %c", &a, &b);
int money1 = (int)(a / 1.0);
if (a <= 1.0)
{
if (b == 'y')
{
printf("25");
}
if (b == 'n')
{
printf("20");
}
}
else if ((money1 -a) == 0)
{
if (b == 'y')
{
money = 20+ (money1-1)*1 + 5;
printf("%d", money);
}
if (b == 'n')
{
money = 20 + (money1 - 1) * 1;
printf("%d", money);
}
}
else
{
if (b == 'y')
{
money = 20 +money1*1 + 5;
printf("%d", money);
}
if (b == 'n')
{
money = 20 + money1 * 1;
printf("%d", money);
}
}
return 0;
}
取整函数(在#include<math.h>之下)
Floor() 会取不大于自变量的最大整数,这样自变量是3.1或3.9是没有区别的,返回都是3;自变量是-2.1或-2.9也是没有区别的,返回都是-3;(向下取整)
Ceil() 会取不小于自变量的最大整数,这样自变量是3.1或3.9,返回都是4;自变量是-2.1或-2.9,返回的都是-2;(向上取整)
Round() 函数,才是我们需要的四舍五入的函数,因为它会返回离自变量最近的整数,这个返回的整数可能大于也可能小于原来的数,但是一定是离它最近的那个整数。(四舍五入)
#include <math.h>
int main() {
float a;
char b;
int money=20;
scanf("%f %c", &a, &b);
if(a>0&&a<=1)
{
if(b=='y')
printf("25");
else
printf("20");
}
if(a>1)
{
money=money+ceil(a-1); //向上取整函数
if(b=='y')
printf("%d",money+5);
else
printf("%d",money);
}
}