赞
踩
编写一个能够输出 Hello,World!
的程序。
提示:
Hello,World!
逗号后面没有空格。H
和 W
为大写字母。无
Hello,World!
#include <stdio.h>
int main()
{
printf("Hello,World!");
return 0;
}
用 *
构造一个对角线长
5
5
5 个字符,倾斜放置的菱形。
没有输入要求。
如样例所示。用 *
构成的菱形。
*
***
*****
***
*
#include <stdio.h>
int main()
{
printf(" *\n");
printf(" ***\n");
printf("*****\n");
printf(" ***\n");
printf(" *");
return 0;
}
本题是洛谷的试机题目,可以帮助了解洛谷的使用。
另外强烈推荐新用户必读贴
超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。
******** ************ ####....#. #..###.....##.... ###.......###### ### ### ........... #...# #...# ##*####### #.#.# #.#.# ####*******###### #.#.# #.#.# ...#***.****.*###.... #...# #...# ....**********##..... ### ### ....**** *****.... #### #### ###### ###### ############################################################## #...#......#.##...#......#.##...#......#.##------------------# ###########################################------------------# #..#....#....##..#....#....##..#....#....##################### ########################################## #----------# #.....#......##.....#......##.....#......# #----------# ########################################## #----------# #.#..#....#..##.#..#....#..##.#..#....#..# #----------# ########################################## ############
无
如描述
#include <stdio.h> int main() { printf(" ********\n"); printf(" ************\n"); printf(" ####....#.\n"); printf(" #..###.....##....\n"); printf(" ###.......###### ### ###\n"); printf(" ........... #...# #...#\n"); printf(" ##*####### #.#.# #.#.#\n"); printf(" ####*******###### #.#.# #.#.#\n"); printf(" ...#***.****.*###.... #...# #...#\n"); printf(" ....**********##..... ### ###\n"); printf(" ....**** *****....\n"); printf(" #### ####\n"); printf(" ###### ######\n"); printf("##############################################################\n"); printf("#...#......#.##...#......#.##...#......#.##------------------#\n"); printf("###########################################------------------#\n"); printf("#..#....#....##..#....#....##..#....#....#####################\n"); printf("########################################## #----------#\n"); printf("#.....#......##.....#......##.....#......# #----------#\n"); printf("########################################## #----------#\n"); printf("#.#..#....#..##.#..#....#..##.#..#....#..# #----------#\n"); printf("########################################## ############\n"); return 0; }
强烈推荐新用户必读帖。
不熟悉算法竞赛的选手请看这里:
算法竞赛中要求的输出格式中,不能有多余的内容,这也包括了“请输入整数
a
\bm a
a 和
b
\bm b
b” 这一类的提示用户输入信息的内容。若包含了这些内容,将会被认为是 Wrong Answer
,即洛谷上的 WA
。在对比代码输出和标准输出时,系统将忽略每一行结尾的空格,以及最后一行之后多余的换行符。
若因此类问题出现本机(看起来)AC
,提交 WA
的现象,请勿认为是洛谷评测机出了问题,而是你的代码中可能存在多余的输出信息。用户可以参考在题目末尾提供的代码。
另外请善用应用中的在线 IDE 功能,以避免不同平台的评测中所产生的一些问题。
还有一点很重要的是,请不要在对应的题目讨论区中发布自己的题解,请发布到题解区域中,否则将处以删除或禁言的处罚。若发现无法提交题解则表明本题题解数量过多,仍不应发布讨论。
输入两个整数 a , b a, b a,b,输出它们的和( ∣ a ∣ , ∣ b ∣ ≤ 10 9 |a|,|b| \le {10}^9 ∣a∣,∣b∣≤109)。
注意
integer
会爆掉哦!int
类型,而且 C 最后要 return 0
。这不仅对洛谷其他题目有效,而且也是 NOIP/CSP/NOI 比赛的要求!好吧,同志们,我们就从这一题开始,向着大牛的路进发。
任何一个伟大的思想,都有一个微不足道的开始。
两个以空格分开的整数。
一个整数。
20 30
50
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d%d", &a, &b);
printf("%d", a + b);
return 0;
}
给定一个字符,用它构造一个底边长 5 5 5 个字符,高 3 3 3 个字符的等腰字符三角形。
输入只有一行,包含一个字符。
该字符构成的等腰三角形,底边长 5 5 5 个字符,高 3 3 3 个字符。
*
*
***
*****
对于 100 % 100 \% 100% 的数据,输入的字符是 ASCII 中的可见字符。
#include <stdio.h>
int main()
{
char a = 'b';
scanf("%c", &a);
printf(" %c\n",a);
printf(" %c%c%c\n",a,a,a);
printf("%c%c%c%c%c",a, a, a, a, a);
return 0;
}
现在需要采购一些苹果,每名同学都可以分到固定数量的苹果,并且已经知道了同学的数量,请问需要采购多少个苹果?
输入两个不超过 1 0 9 10^9 109 正整数,分别表示每人分到的数量和同学的人数。
一个整数,表示答案。保证输入和答案都在 int 范围内的非负整数。
5 3
15
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d%d", &a ,&b);
printf("%d", a * b);
}
输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。
q
Q
#include <stdio.h>
int main()
{
char a = '0';
scanf("%c", &a);
printf("%c", a - 32);
return 0;
}
输入一个不小于 100 100 100 且小于 1000 1000 1000,同时包括小数点后一位的一个浮点数,例如 123.4 123.4 123.4 ,要求把这个数字翻转过来,变成 4.321 4.321 4.321 并输出。
一行一个浮点数
一行一个浮点数
123.4
4.321
#include <stdio.h>
int main()
{ char a,b,c,d;
scanf("%c%c%c.%c", &a, &b, &c, &d);
printf("%c.%c%c%c", d, c, b, a);
return 0;
}
现在有 t t t 毫升肥宅快乐水,要均分给 n n n 名同学。每名同学需要 2 2 2 个杯子。现在想知道每名同学可以获得多少毫升饮料(严格精确到小数点后 3 3 3 位),以及一共需要多少个杯子。
输入一个实数 t t t 和一个正整数 n n n,使用空格隔开。
输出两行。
第一行输出一个三位小数,表示可以获得多少毫升饮料。第二行输出一个正整数,表示一共需要多少个杯子。
500.0 3
166.667
6
对于所有数据, 0 ≤ t ≤ 10000 0\leq t\leq 10000 0≤t≤10000 且小数点后不超过 3 3 3 位, 1 ≤ n ≤ 1000 1\leq n\leq 1000 1≤n≤1000。
#include <stdio.h>
int main()
{
float a = 0;
int b = 0;
scanf("%f%d", &a,&b);
printf("%.3f\n", a / b);
printf("%d", 2 * b);
return 0;
}
一个三角形的三边长分别是 a a a、 b b b、 c c c,那么它的面积为 p ( p − a ) ( p − b ) ( p − c ) \sqrt{p(p-a)(p-b)(p-c)} p(p−a)(p−b)(p−c) ,其中 p = 1 2 ( a + b + c ) p=\frac{1}{2}(a+b+c) p=21(a+b+c)。输入这三个数字,计算三角形的面积,四舍五入精确到 1 1 1 位小数。
第一行输入三个实数 a , b , c a,b,c a,b,c,以空格隔开。
输出一个实数,表示三角形面积。精确到小数点后 1 1 1 位。
3 4 5
6.0
数据保证能构成三角形, 0 ≤ a , b , c ≤ 1000 0\leq a,b,c\leq 1000 0≤a,b,c≤1000,每个边长输入时不超过 2 2 2 位小数。
#include <stdio.h>
#include<math.h>
int main()
{
float a = 0, b = 0, c = 0;
scanf("%f%f%f", &a, &b, &c);
float p = (a + b + c) / 2;
float d = p * (p - a) * (p - b) * (p - c);
printf("%.1f", sqrt(d));
return 0;
}
学校和 yyy 的家之间的距离为 s s s 米,而 yyy 以 v v v 米每分钟的速度匀速走向学校。
在上学的路上,yyy 还要额外花费 10 10 10 分钟的时间进行垃圾分类。
学校要求必须在上午 8:00 \textrm{8:00} 8:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。
由于路途遥远,yyy 可能不得不提前一点出发,但是提前的时间不会超过一天。
一行两个正整数 s , v s,v s,v,分别代表路程和速度。
输出一个 24 24 24 小时制下的时间,代表 yyy 最晚的出发时间。
输出格式为 HH:MM \texttt{HH:MM} HH:MM,分别代表该时间的时和分。必须输出两位,不足前面补 0 0 0。
100 99
07:48
对于 100 % 100\% 100% 的数据, 1 ≤ s , v ≤ 1 0 4 1 \le s,v \le 10^4 1≤s,v≤104。
#include <stdio.h> int main() { int s = 0, v = 0, x = 0; scanf("%d%d", &s, &v); int t = 0; if (s % v == 0) { t = s / v+10; } if (s % v != 0) { t = s / v + 11; } int f = 60 - t % 60; if (t / 60 < 8) { x = 7 - t / 60; } if (t / 60 >= 8) { x = 23 - (t / 60 - 8); } if (x < 10&&f>=10) { printf("0%d:%d", x, f); } if (x >= 10 && f >= 10) { printf("%d:%d", x, f); } if (x < 10 && f < 10) { printf("0%d:0%d", x, f); } if (x >= 10 && f < 10) { printf("%d:0%d", x, f); } return 0; }
一只大象口渴了,要喝 20 20 20 升水才能解渴,但现在只有一个深 h h h 厘米,底面半径为 r r r 厘米的小圆桶 ( h h h 和 r r r 都是整数)。问大象至少要喝多少桶水才会解渴。
Update:数据更新,这里我们近似地取圆周率 π = 3.14 \pi = 3.14 π=3.14。
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深 h h h 和底面半径 r r r,单位都是厘米。
输出一行,包含一个整数,表示大象至少要喝水的桶数。
23 11
3
对于全部的测试点,保证 1 ≤ h ≤ 500 1 \leq h \leq 500 1≤h≤500, 1 ≤ r ≤ 100 1 \leq r \leq 100 1≤r≤100。
#include <stdio.h> #define p 3.14 int main() { int h = 0, r = 0; scanf("%d%d", &h, &r); float m = h * r * r * p; int n = 20000 / m; float k = 20000 / m; if (k > n) { n = n + 1; } printf("%d", n); return 0; }
伦敦奥运会要到了,小鱼在拼命练习游泳准备参加游泳比赛,可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。
这一天,小鱼给自己的游泳时间做了精确的计时(本题中的计时都按 24 24 24 小时制计算),它发现自己从 a a a 时 b b b 分一直游泳到当天的 c c c 时 d d d 分,请你帮小鱼计算一下,它这天一共游了多少时间呢?
小鱼游的好辛苦呀,你可不要算错了哦。
一行内输入四个整数,以空格隔开,分别表示题目中的 a , b , c , d a, b, c, d a,b,c,d。
一行内输出两个整数 e e e 和 f f f,用空格间隔,依次表示小鱼这天一共游了多少小时多少分钟。其中表示分钟的整数 f f f 应该小于 60 60 60。
12 50 19 10
6 20
对于全部测试数据, 0 ≤ a , c ≤ 24 0\le a,c \le 24 0≤a,c≤24, 0 ≤ b , d ≤ 60 0\le b,d \le 60 0≤b,d≤60,且结束时间一定晚于开始时间。
#include <stdio.h> int main() { int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0; scanf("%d%d%d%d", &a, &b, &c, &d); if (d - b >= 0) { f =d-b; e = c - a; } if (d - b < 0) { f = 60 + d - b; e = c - a - 1; } printf("%d %d", e, f); return 0; }
班主任给小玉一个任务,到文具店里买尽量多的签字笔。已知一只签字笔的价格是 1 1 1 元 9 9 9 角,而班主任给小玉的钱是 a a a 元 b b b 角,小玉想知道,她最多能买多少只签字笔呢。
输入只有一行两个整数,分别表示 a a a 和 b b b。
输出一行一个整数,表示小玉最多能买多少只签字笔。
10 3
5
对于全部的测试点,保证 0 ≤ a ≤ 1 0 4 0 \leq a \leq 10^4 0≤a≤104, 0 ≤ b ≤ 9 0 \leq b \leq 9 0≤b≤9。
#include <stdio.h>
int main()
{
int a = 0, b = 0;
scanf("%d%d", &a, &b);
int c = 10 * a + b;
int m = c / 19;
printf("%d", m);
return 0;
}
NOIP2017 普及组 T1
牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是:
总成绩=作业成绩$ \times 20%+ 小测成绩 小测成绩 小测成绩×30%+ 期末考试成绩 期末考试成绩 期末考试成绩 \times 50%$
牛牛想知道,这门课程自己最终能得到多少分。
三个非负整数 A , B , C A,B,C A,B,C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100 100 100 分。
一个整数,即牛牛这门课程的总成绩,满分也是 100 100 100 分。
100 100 80
90
60 90 80
79
牛牛的作业成绩是 100 100 100 分,小测成绩是 100 100 100 分,期末考试成绩是 80 80 80 分,总成绩是 100 × 20 % + 100 × 30 % + 80 × 50 % = 20 + 30 + 40 = 90 100 \times 20\%+100 \times 30\%+80 \times 50\%=20+30+40=90 100×20%+100×30%+80×50%=20+30+40=90。
牛牛的作业成绩是 60 60 60 分,小测成绩是 90 90 90 分,期末考试成绩是 80 80 80 分,总成绩是 60 × 20 % + 90 × 30 % + 80 × 50 % = 12 + 27 + 40 = 79 60 \times 20\%+90 \times 30\%+80 \times 50\%=12+27+40=79 60×20%+90×30%+80×50%=12+27+40=79。
对于 30 % 30\% 30% 的数据, A = B = 0 A=B=0 A=B=0。
对于另外 30 % 30\% 30% 的数据, A = B = 100 A=B=100 A=B=100。
对于 100 % 100\% 100% 的数据, 0 ≤ A , B , C ≤ 100 0≤A,B,C≤100 0≤A,B,C≤100 且 A , B , C A,B,C A,B,C 都是 10 10 10 的整数倍。
#include <stdio.h>
int main()
{
int a = 0, b = 0, c = 0;
scanf("%d%d%d", &a, &b, &c);
int d = a / 10 * 2 + b / 10 * 3 + c / 10 * 5;
printf("%d", d);
return 0;
}
八尾勇喜欢吃苹果。她现在有 m m m( 1 ≤ m ≤ 100 1 \le m \le 100 1≤m≤100)个苹果,吃完一个苹果需要花费 t t t( 0 ≤ t ≤ 100 0 \le t \le 100 0≤t≤100)分钟,吃完一个后立刻开始吃下一个。现在时间过去了 s s s( 1 ≤ s ≤ 10000 1 \le s \le 10000 1≤s≤10000)分钟,请问她还有几个完整的苹果?
输入三个非负整数表示 m , t , s m, t, s m,t,s。
输出一个整数表示答案。
50 10 200
30
如果你出现了 RE,不如检查一下被零除?
#include <stdio.h> int main() { int m = 0, t = 0, s = 0, n = 0,k=0; scanf("%d%d%d", &m, &t, &s); if (t!=0&&s%t==0) { n = s / t; } else if(t!=0) { n = s / t + 1; } k=m-n; if(k<=0) { k=0; } if(t==0) { k=0; } printf("%d", k); return 0; }
一些整数可能拥有以下的性质:
小 A 喜欢这两个性质同时成立的整数;Uim 喜欢这至少符合其中一种性质的整数;八尾勇喜欢刚好有符合其中一个性质的整数;正妹喜欢不符合这两个性质的整数。现在给出一个整数 x x x,请问他们是否喜欢这个整数?
输入一个整数 x ( 0 ≤ x ≤ 1000 ) x(0\le x \le 1000) x(0≤x≤1000)
输出这
4
4
4 个人是否喜欢这个数字,如果喜欢则输出 1
,否则输出 0
,用空格分隔。输出顺序为:小 A、Uim、八尾勇、正妹。
12
1 1 0 0
#include <stdio.h> int main() { int x = 0, a = 0, b = 0, A = 0, u = 0, e = 0, z = 0; scanf("%d", &x); if (x % 2 == 0) { a = 1; } if (x > 4 && x <= 12) { b = 1; } if (a == 1 || b == 1) { u = 1; } if (a == 1 && b == 0 || b == 1 && a == 0) { e = 1; } if (a == 0 && b == 0) { z = 1; }if (a == 1 && b == 1) { A = 1; } printf("%d %d %d %d", A, u, e, z); return 0; }
输入一个年份,判断这一年是否是闰年,如果是输出 1 1 1,否则输出 0 0 0。
输入一个正整数 n n n,表示年份。
输出一行。如果输入的年份是闰年则输出 1 1 1,否则输出 0 0 0。
1926
0
1900
0
2000
1
1996
1
数据保证, 1582 ≤ n ≤ 2020 1582 \leq n \leq 2020 1582≤n≤2020 且年份为自然数。
#include <stdio.h>
int main()
{
int x = 0;
scanf("%d", &x);
if (x % 4 == 0 && x % 100 != 0 || x % 400 == 0)
{
printf("1");
}
else
printf("0");
return 0;
}
八尾勇喜欢吃苹果。她今天吃掉了
x
x
x 个苹果。英语课上学到了 apple 这个词语,想用它来造句。如果她吃了 1 个苹果,就输出 Today, I ate 1 apple.
;如果她没有吃,那么就把 1 换成 0;如果她吃了不止一个苹果,别忘了 apple
这个单词后面要加上代表复数的 s
。你能帮她完成这个句子吗?
输入一行一个自然数 x x x,表示吃掉的苹果数。
根据题目要求输出。
1
Today, I ate 1 apple.
3
Today, I ate 3 apples.
对于所有数据, 0 ≤ x ≤ 100 0\le x \le 100 0≤x≤100。
#include <stdio.h>
int main()
{
int x = 0;
scanf("%d", &x);
if (x <= 1)
{
printf("Today, I ate %d apple.", x);
}
else
{
printf("Today, I ate %d apples.", x);
}
return 0;
}
在洛谷上使用团队系统非常方便的添加自己的题目。如果在自己的电脑上配置题目和测试数据,每题需要花费时间
5
5
5 分钟;而在洛谷团队中上传私有题目,每题只需要花费
3
3
3 分钟,但是上传题目之前还需要一次性花费
11
11
11 分钟创建与配置团队。现在要配置
n
n
n 道题目,如果本地配置花费的总时间短,请输出 Local
,否则输出 Luogu
。
输入一个正整数 n n n,表示需要配置的题目量。
输出一行,一个字符串。如果本地配置花费的总时间短,请输出 Local
,否则输出 Luogu
。
2
Local
50
Luogu
数据保证 1 ≤ n ≤ 100 1 \leq n\leq 100 1≤n≤100。
#include <stdio.h> int main() { int x = 0; scanf("%d", &x); int m = 0, n = 0; m = 5 * x; n = 3 * x + 11; if (m >= n) { printf("Luogu"); } else { printf("Local"); } return 0; }
BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准,其算法是 m h 2 \dfrac{m}{h^2} h2m,其中 m m m 是指体重(千克), h h h 是指身高(米)。不同体型范围与判定结果如下:
Underweight
;Normal
;cout
的默认精度),然后换行,还要输出 Overweight
;现在给出体重和身高数据,需要根据 BMI 指数判断体型状态并输出对应的判断。
对于非 C++ 语言,在输出时,请四舍五入保留六位有效数字输出,如果小数部分存在后缀 0 0 0,不要输出后缀 0 0 0。
请注意,保留六位有效数字不是保留六位小数。例如 123.4567 123.4567 123.4567 应该输出为 123.457 123.457 123.457, 5432.10 5432.10 5432.10 应该输出为 5432.1 5432.1 5432.1。
共一行。
第一行,共 2 2 2 个浮点数, m , h m, h m,h,分别表示体重(单位为 kg),身高(单位为 m)。
输出一行一个字符串,表示根据 BMI 的对应判断。特别地,对于 Overweight
情况的特别处理请参照题目所述。
70 1.72
Normal
100 1.68
35.4308
Overweight
对于所有数据, 40 ≤ m ≤ 120 40\le m \le 120 40≤m≤120, 1.4 ≤ h ≤ 2.0 1.4 \le h \le 2.0 1.4≤h≤2.0。 m m m 和 h h h 的小数点后不超过三位。
#include <stdio.h> int main() { float m = 0, h = 0; scanf("%f%f", &m, &h); float n = h * h; float i = m / n; if (i < 18.5) { printf("Underweight"); } if (i >= 18.5 && i < 24) { printf("Normal"); } if (i >= 24) { printf("%.4f\n", i); printf("Overweight"); } return 0; }
给出三个整数 a , b , c ( 0 ≤ a , b , c ≤ 100 ) a,b,c(0\le a,b,c \le 100) a,b,c(0≤a,b,c≤100),要求把这三位整数从小到大排序。
输入三个整数 a , b , c a,b,c a,b,c,以空格隔开。
输出一行,三个整数,表示从小到大排序后的结果。
1 14 5
1 5 14
2 2 2
2 2 2
#include <stdio.h> int main() { int a = 0, b = 0, c = 0; scanf("%d%d%d", &a, &b, &c); if (a >= b) { int m = 0; m = b; b = a; a = m; } if(b>=c) { int n = 0; n = b; b = c; c = n; } if (a >= b) { int k= 0; k = b; b = a; a = k; } printf("%d %d %d", a, b, c); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。