小练习

目录

求整数段和 

降价提醒机器人

调和平均

水仙花数 

 输出三角形字符阵列 

**求整数段和 **

给定两个整数A和B,输出从A到B的所有整数以及这些数的和。

输入格式:

输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。

输出格式:

首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X

输入样例:

1
-3 8

结尾无空行

输出样例:

1
2
3
4
   -3   -2   -1    0    1
2 3 4 5 6
7 8
Sum = 30

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<stdio.h>
int main()
{
int Sum=0;
int i=0;
int A,B;
int count=0;
scanf("%d %d",&A,&B);
for(i=A;i<=B;i++)
{
printf("%5d",i);
count++;
if(count%5==0)
{
printf("\n");
}
Sum+=i;
}
if(count%5!=0)
{
printf("\n");
}
printf("Sum = %d\n",Sum);
return 0;
}

 

 

 

降价提醒机器人

小 T 想买一个玩具很久了,但价格有些高,他打算等便宜些再买。但天天盯着购物网站很麻烦,请你帮小 T 写一个降价提醒机器人,当玩具的当前价格比他设定的价格便宜时发出提醒。

输入格式:

输入第一行是两个正整数 N 和 M (1≤N≤100,0≤M≤1000),表示有 N 条价格记录,小 T 设置的价格为 M。

接下来 N 行,每行有一个实数 Pi​(−1000.0<Pi​<1000.0),表示一条价格记录。

输出格式:

对每一条比设定价格 M 便宜的价格记录 P,在一行中输出 On Sale! P,其中 P 输出到小数点后 1 位。

输入样例:

1
2
3
4
5
4 99
98.0
97.0
100.2
98.9

结尾无空行

输出样例:

1
2
3
On Sale! 98.0
On Sale! 97.0
On Sale! 98.9

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
int main()
{
float n,m;
scanf("%f %f",&n,&m);
float p=0;
int i=0;
for(i=0;i<n;i++)
{
scanf("%f",&p);
if(p<m)
{
printf("On Sale! %.1f\n",p);
}
}
return 0;
}

 

 

调和平均

调和平均

N 个正数的算数平均是这些数的和除以 N,它们的调和平均是它们倒数的算数平均的倒数。本题就请你计算给定的一系列正数的调和平均值。

输入格式:

每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N (≤1000);第 2 行给出 N 个正数,都在区间 [0.1,100] 内。

输出格式:

在一行中输出给定数列的调和平均值,输出小数点后2位。

输入样例:

1
2
8
10 15 12.7 0.3 4 13 1 15.6

结尾无空行

输出样例:

1
1.61
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i=0;
float b=0;
float s=0;
for(i=0;i<n;i++)
{
scanf("%f",&b);
s+=1.0/b;
}
float ave=s/n;
float l=1.0/ave;
printf("%.2f",l);
return 0;
}

水仙花数

水仙花数 

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。

输入格式:

输入在一行中给出一个正整数N(3≤N≤7)。

输出格式:

按递增顺序输出所有N位水仙花数,每个数字占一行。

输入样例:

1
3

结尾无空行

输出样例:

1
2
3
4
153
370
371
407
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdio.h>
#include<math.h>
int main()
{
int n;
scanf("%d",&n);
int i=0;
int s=0;
int j;
for(i=pow(10,n-1);i<pow(10,n);i++)
{
j=i;
while(j!=0)
{
int a=j%10;
j/=10;
s+=pow(a,n);
}
if(s==i)
{
printf("%d\n",i);
}
s=0;
}
return 0;
}

输出三角形字符阵列

 输出三角形字符阵列 

本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。

输入格式:

输入在一行中给出一个正整数n(1≤n<7)。

输出格式:

输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。

输入样例:

1
4

结尾无空行

输出样例:

1
2
3
4
A B C D 
E F G
H I
J

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
int main()
{
int n=0;
scanf("%d",&n);
int i=0;
int j=0;
char a='A';

for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
{

printf("%c ",a++);

}

printf("\n");
}
return 0;
}


小练习
http://example.com/2021/11/01/小练习/
作者
Zevin
发布于
2021年11月1日
许可协议