【研究创新型】8.1 谁能出线
【题目描述】
电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。按规定,每10名学生为一个预赛小组,评委打出分数(0~100分),各小组第一名可以进入下一轮;如果有多名学生得分相同都是第一名,则可同时进入下一轮。
【输入】
按顺序给出一个小组10个人的最后得分(int)。
【输出】
能够出线的学生序号(0~9)。
【样例输入】
98
98
100
97
95
94
90
94
93
92
【样例输出】
2#include
#include
int main()
{
int score[10];
int i,j=0;
for(i=0;i<10;i++)
{
scanf("%d",&score[i]);
if (score[i]>j) j=score[i];
else ;
}
for(i=0;i<10;i++)
{
if (score[i]==j)
printf("%d\n",i);
else ;
}
system("pause");
return 0;
}
【设计型】8.2 挑选小白鼠
【题目描述】
实验室有一批小白鼠,为了评估他们的健康程度,我们为每一只小白鼠都设定了一个“健康指数”。现在我们需要进一步的评估这批小白鼠的健康均衡程度,因此我们需要从中找到健康指数差距最大的两只小白鼠的编号,以此来进一步的进行评估。
【输入】
第一行是一个整数n(2<= n <= 100),表示的是一共有n只小白鼠。
第二行是n个整数(互不相同),分别表示n只小白鼠的健康指数,同时根据输入顺序,从1开始为其编号1,2…n。也就是说第一个整数是第一只小白鼠的健康指数,第二个整数是第二只小白鼠的健康指数,依次类推。
【输出】
输出健康指数差距最大的两只小白鼠的编号。第一个数是健康指数较大的小白鼠的编号,第二个数是健康指数较小的小白鼠的编号。
【样例输入】
10
1 2 3 4 5 6 7 8 9 11
【样例输出】
10 1
#include
#include
int main()
{
int n,i,j=0,k=100000,x=0,y=0;
scanf("%d",&n);
int s[100];
for(i=0;i
{
scanf("%d ",&s[i]);
if (s[i]>j) j=s[i];
if (s[i]
}
for(i=0;i
{
if (s[i]==j) x=i;
if (s[i]==k) y=i;
}
printf("%d %d\n",x+1,y+1);
system("pause");
return 0;
}
【设计型】8.3 统计素数的个数
求出 2 到 m 之间 ( 含 m,m<=1000) 所有素数并放在数组 a 中。
输入:正整数m
输出:从小到大的所有素数,及个数(素数输出的时候用%4d来控制)
如:
输入:10
输出:2 3 5 7
4
#include
#include
int main()
{
int m,i,j,k=0,t=2,n=0,l;
int a[1000];
scanf("%d",&m);
printf("%4d",t);
for(i=2;i<=m;i++)
{
for(j=2;j
{