7-1 星期几换算
分数 15
全屏浏览
切换布局
作者 唐艳琴
单位 中国人民解放军陆军工程大学
今天是周六,又到了可以休息的日子了,7天后又会是一个周六。请你帮忙计算下,n(n为整数,可以是正也可以为负)天后会是星期几呢?
输入格式:
输入天数
输出格式:
输出星期几
输入样例1:
8
输出样例1:
星期日
输入样例2:
-2
输出样例2:
星期四
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
answer:
#include<stdio.h>
int main(void)
{
const char* day[]={"星期六","星期日","星期一","星期二","星期三","星期四","星期五"};
int a;
scanf("%d",&a);
int b=a%7;
if (b<0) b=b+7;
else if(b>=0) b=b;
printf("%s",day[b]);
return 0;
}
不嫌麻烦可以用if else或者swich语句来输出星期几
7-2 案例3-8:使用条件运算符计算整数的绝对值
分数 10
全屏浏览
切换布局
作者 章理登
单位 浙江工贸职业技术学院
使用条件运算符计算整数的绝对值。
输入格式:
一个整数x,表示需要计算绝对值的整数。
输出格式:
输出一个整数,表示输入整数的绝对值。
输入样例:
10
输出样例:
10的绝对值是10
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
answer:
#include<stdio.h>
int main (void)
{
int x,y;
scanf("%d",&x);
y=abs(x);
printf("%d的绝对值是%d",x,y);
return 0;
}
唉没必要,认识一下新的函数算了doge
7-6 实验2_1_判断两数的大小
分数 100
全屏浏览
切换布局
作者 scs
单位 北京邮电大学
已知有两个整数,请使用if-else选择结构将它们中的较大数选择出来,存到max变量中;将较小数选择出来,存到min变量中,并将选择结果输出。
输入格式:
只有一行,为用空格分隔的两个整数。测试用例保证这两个数可以用int类型存储。
输出格式:
如果输入的两个整数相等,则输出“The two numbers are equal.”,如果不等则按如下格式输出:“The larger number is 100, the smaller number is 25.”(假设输入的两个数分别为100和25)。
输入样例:
100 25
输出样例:
The larger number is 100, the smaller number is 25.
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
answer:
#include<stdio.h>
int main(void)
{
int a,b;
scanf("%d %d",&a,&b);
if(a==b)printf("The two numbers are equal.");
else {int max,min;
max=(a>b)?a:b;
min=(a<b)?a:b;
printf("The larger number is %d, the smaller number is %d.",max,min);
}
return 0;
唉没必要,认识一下新的逻辑运算符算了doge
7-7 实验2_2_公历闰年
分数 100
全屏浏览
切换布局
作者 scs
单位 北京邮电大学
地球绕太阳运行周期为365天5小时48分46秒(合365.24219天),即一回归年(tropical year)。公历的平年只有365日,比回归年短约0.2422 日,每四年累积约一天,把这一天加于2月末(即2月29日),使当年时间长度变为366日(1-12月分别为31天,29天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天),这一年就为闰年。需要注意的是,公历是根据罗马人的"儒略历"改编而得。由于当时没有了解到每年要多算出0.0078天的问题,从公元前46年,到16世纪,一共累计多出了10天。为此,当时的教皇格列高利十三世,将1582年10月5日人为规定为10月15日。并开始了新闰年规定。即规定公历年份是整百数的,必须是400的倍数才是闰年,不是400的倍数的就是平年。比如,1700年、1800年和1900年为平年,2000年为闰年。此后,平均每年长度为365.2425天,约4年出现1天的偏差。按照每四年一个闰年计算,平均每年就要多算出0.0078天,经过四百年就会多出大约3天来,因此,每四百年中要减少三个闰年。闰年的计算,归结起来就是通常说的:四年一闰;百年不闰,四百年再闰。。
输入格式:
只有一个整数y(1900<=y<=2500),代表年份。
输出格式:
只有一行,如果输入的年份为闰年,则输出"Yes",否则输出"No"。
输入样例:
2008
输出样例:
Yes
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
answer:
#include <stdio.h>
int main(void)
{
int y,a,b,c;
scanf("%d", &y);
a=(y - 1900)%4;
b=y%100;
c=y%400;
if ((y%4 == 0&&y%100!=0)||y%400 == 0)
printf("Yes");
else
printf("No");
return 0;
}
以前的我写的混乱啊……大家凑合着看吧(如果有别人看)
7-9 实验2_4_网购一
分数 100
全屏浏览
切换布局
作者 scs
单位 北京邮电大学
某电商规定,如果订单商品总价小于20元,则付快递费10元;如果订单商品总价大于等于20元且小于30元,则付快递费8元;如果订单商品总价大于等于30元且小于40元,则付快递费5元;如果某订单商品总价大于等于40元,则包邮。现某订单共4件商品,请你算一下该订单实付多少。
输入格式:
只有一行,为四个用空格分隔的正整数,代表4件商品的价格。
输出格式:
为一个整数,为客户实际需要支付的钱数。测试用例保证输入合法,且所有整数可以用int型存储。
输入样例:
1 2 3 4
输出样例:
20
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
answer:
#include <stdio.h>
int main(void)
{
int a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
int f=a+b+c+d;
int g;
if(f>=40)g=0;
else if(f<20)g=10;
else if(f>=20&&f<30)g=8;
else g=5;
printf("%d",g+f);
return 0;
}
7-7 案例3-2:判断三边能否构成三角形
分数 10
全屏浏览
切换布局
作者 章理登
单位 浙江工贸职业技术学院
输入三个整数,判断以这三个整数作为边长能否构成三角形,如果能构成三角形输出1,否则输出0。
输入格式:
输入在一行中给出三个正整数。
输出格式:
如果能构成三角形输出1,否则输出0。
输入样例:
1 2 3
输出样例:
0
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
answer:
#include<stdio.h>
int main(void)
{
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
if((a+b)>c&&(a+c)>b&&(b+c)>a)d=1;
else d=0;
printf("%d",d);
return 0;
}
7-8 从键盘上输入四个整数a,b,c,d,输出其中最大者。
分数 4
全屏浏览
切换布局
作者 奋斗的阿酱
单位 重庆工信职业学院
从键盘上输入四个整数a,b,c,d,输出其中最大者。
输入格式:
a,b,c,d。例如:4,5,7,1
输出格式:
最大值是XX。例如:最大值是7
输入样例:
例如:
4,5,7,1
输出样例:
例如:
最大值是7
代码长度限制
17 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
answer:
#include <stdio.h>
int main(void)
{
int a,b,c,d;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
int max = (a>b)?((a>c)?((a>d)?a:d):((c>d)?c:d)):((b>c)?((b>d)?b:d):((c>d)?c:d));
printf("最大值是%d",max);
return 0;
}
逆天套娃,不建议省事费眼睛和脑子
7-10 实验2_5_求三角形的面积
分数 100
全屏浏览
切换布局
作者 scs
单位 北京邮电大学
已知三角形的三条边长a、b、c,求三角形的面积。三角形的面积可以根据海伦公式来计算,这里S代表周长的一半,Area代表三角形的面积:
S=(A+B+C)/2
Area=(S(S−a)(S−b)(S−c))
求一个数的平方根需要用库函数sqrt(x)。参数x可以是整数或者浮点数,函数返回值是一个浮点数。在处理浮点数的时候,建议使用双精度浮点型(double型)变量,
注意:为了使用该函数,需要在main函数之前加上预处理语句:
#include <math.h>
%lf的默认输出为6位小数,如果想要输出3为小数,则应为%.3lf。
输入格式:
为三个用空格分隔的正整数a、b、c,代表三角形的三边长度。
输出格式:
只有一行。当输入的三条边a、b、c可以构成三角形时(即两条边的长度和大于第三条边的长度),输出三角形的面积,输出结果保留3位小数,假如a=5,b=12,c=13,则输出“30.000”;当a、b、c三条边无法构成三角形时,则输出“The edges cannot make up of a triangle.”。测试用例保证运算中用到的整数可以用int型存储,小数可以用double型存储。
输入样例:
5 12 13
输出样例:
30.000
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
answer:
#include <stdio.h>
#include <math.h>
int main(void)
{
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
double S=(a + b + c)/2.0;
double area;
if((a + b)>c&&(a + c)>b&&(b + c)>a)
{
area = sqrt(S*(S - a)*(S - b)*(S - c));
printf("%.3lf",area);
}
else
{
printf("The edges cannot make up of a triangle.");
}
return 0;
}
7-11 三对三篮球赛
分数 100
全屏浏览
切换布局
作者 scs
单位 北京邮电大学
三对三篮球赛规定
第4条:得分
4.1. 在圆弧线以内投篮命中得 1 分。
4.2. 在圆弧线以外投篮命中得 2 分
4.3. 罚篮命中得 1 分。
第5条:比赛时间/优胜者
5.1 一节 10 分钟(这个可以称为常规时间)。在死球状态下和罚球时应停表。再次开球时,当球权方与防守队一名球员完成一次传递球后(即一旦进攻队持球),计时器应继续计时。
5.2. 但是,在规定的比赛时间内(即在常规时间内),率先取得 21 分或以上的队伍获胜。
5.3. 如果在规定比赛时间(即在常规时间内)两队打平,则应进行加时赛。加时赛中率先取得 2 分的队伍获胜。
请你根据这些条款写一段程序来判断一场比赛的胜负。
注意:判断胜负的一个基本原则是得分高的队伍获胜(但规则里没有明确说明)。
输入格式:
为用空格分隔的两个整数,依次代表A队得分和B队得分。测试用例保证合法。
输出格式:
上述得分为常规时间结束(包括先得21分及以上直接获胜的情况)时的比分,如果A队获胜,则输出A win;如果B队获胜,则输出B win;如果两队打平,需要进行加时赛,则输出no result;如果出现不可能的比分(比如 29 30),则输出error。
输入样例:
11 17
输出样例:
B win
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include <stdio.h>
int main(void) {
int a, b;
scanf("%d %d", &a, &b);
if (a < 0 || b < 0) {
// 分数不能为负数
printf("error");
} else if (a > 23 || b > 23) {
// 分数不能超过23
printf("error");
} else if ((a == 22 && b == 21) || (a == 21 && b == 22)) {
// 一个队22分,一个队21分的情况
printf("error");
} else if (a > 21 && b > 21) {
// 两队得分均大于21
printf("error");
} else if (a == 21 && b == 21) {
// 两队同时21分
printf("error");
} else if (a == 23 && b < 20) {
// 一个队23分另一个队小于20分不存在
printf("error");
} else if (b == 23 && a < 20) {
// 一个队23分另一个队小于20分不存在
printf("error");
} else if (a >= 21 && a > b) {
// A队先达到21分且分数高于B队
printf("A win");
} else if (b >= 21 && b > a) {
// B队先达到21分且分数高于A队
printf("B win");
} else if (a == b) {
// 常规时间打平
printf("no result");
} else if (a > b) {
// 未达到21分,A队分数高
printf("A win");
} else {
// 未达到21分,B队分数高
printf("B win");
}
return 0;
}
感觉不是计算机再写而是我在写,真是烦人,建议数学不好的人还是别学计算机了(哭死)