第6关 - 魔法学院第14课
利用循环处理多个数据读入和计算。
87.乐谱 (魔法学院第14课)
题目描述
编程任务:
输入n个音符数值,画n个音符。每个音符用宽度是10,颜色由输入的数值确定,高度是颜色号的30倍。例如输入:
4
3 2 1 2
可以画出下面图形
4个矩形宽度10,颜色分别是3、2、1、2,高度分别是90、60、30、60。
相邻矩形的中心在一条直线上,距离15。
输入格式 第一个正整数n,表示多少个矩形。
后面n个整数,表示每个矩形的颜色号。
输出格式 相应图形。
输入/输出例子1
输入:
7
1 2 3 4 3 2 1
输出:
题解
int main()
{
int n, a;
cin >> n ; // 输入个数
p.hide().up();
for( int i=0; i < n; i++)
{
cin>> a ; // 输入音符
pen.rr(10, a*30 , a); // 画音符
p.rt(90).fd(15).lt(90);
}
return 0;
}
88.同心圆 (魔法学院第14课)
题目描述
编程任务:输入n个圆的半径,画n个红色同心圆。每个圆的上边距离10的地方,用pen.text()命令输出半径的值。例如输入:
3
30 60 100
可以画出下面图形(包括数字)
输入格式 一个正整数n,表示半径个数。
后面n个正整数,表示每个圆的半径。
输出格式 相应图形。
输入/输出例子1
输入:
2
120 50
输出:
题解
int main()
{
int n,r ;
cin >> n; // 输入个数
p.up().hide().speed(10);
for( int i=0; i < n; i++)
{
cin >> r ; // 输入半径
pen.o( r,1 ); // 画圆
pen.fd(r+10); //到上面
pen.text(r);
pen.bk(r+10 ); //回到圆心
}
return 0;
}
89.显示分数高低 (魔法学院第14课)
题目描述
编程任务:设计一个判分程序,用画图形显示分数是否及格。
输入 n 个人的语文分数,分数小于 60 的用1号红色矩形表示;分数大于等于 60 的用10号绿色矩形表示。
例如运行程序后输入:
5
90 75 50 60 35
可以画出下面图形:
矩形宽度20,高度是分数的值,相邻矩形中间的缝隙宽度10。
输入格式 第一个整数n表示多少学生;
下面n个整数表示分数。
输出格式 相应图形。
输入/输出例子1 输入:
5
150 90 50 80 60
输出:
题解
int main()
{
int n, s, a;
cin >> n; // 输入个数
p.up().hide();
for( int i=0; i < n; i++)
{
cin >>s ; // 输入分数
if ( s<60 ) a=1 ;
else a = 10;
pen.fd( s/2 ).rr(20,s,a);
pen.bk(s/2).rt(90).fd(30).lt(90);
}
return 0;
}