早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言小题问题描述按样例格式完成以下要求:(1)输入n和n个学生的成绩(整型,存贮于一维数组x[0]至x[n-1]中,设n≤20);(2)将数组x中下标为偶数的学生组成A班,输出A班学生的成绩;(

题目详情
C语言小题
【问题描述】
按样例格式完成以下要求:
(1) 输入n和n个学生的成绩(整型,存贮于一维数组x[0]至x[n-1]中,设n≤20);
(2) 将数组x中下标为偶数的学生组成A班,输出A班学生的成绩;
(3) 将数组x中下标为奇数的学生组成B班,输出B班学生的成绩;
(4) 去除x数组中重复的成绩(保留第一次出现的成绩)并输出。
【样例输入】
9 50 80 90 40 100 90 80 70 80
【样例输出】
A: 50 90 100 80 80
B: 80 40 90 70
50 80 90 40 100 70
【样例说明】
先输入n=9,再输入9个学生的成绩。A班5名,B班4名,输入成绩中80分出现3次,90分出现2次,去除第2次及以后出现的成绩。
————————————————————————————————————————
【问题描述】
编写程序,从键盘输入10个百分制成绩,将成绩从高到低排序并且排名,然后以“名次:成绩”的形式依次输出,相互间用1个空格间隔,最高分的名次记为1,相同的成绩名次也相同。
【输入形式】
从键盘输入10个百分制成绩。
【输出形式】
按名次顺序,以“名次:成绩”的形式依次输出10成绩及其名次,相互间用1个空格间隔。
【样例输入】
99 100 80 60 70 90 99 70 50 70
【样例输出】
1:100 2:99 2:99 4:90 5:80 6:70 6:70 6:70 9:60 10:50
【样例说明】
输入10个百分制成绩,按名次顺序输出,第1名100分,第2名99分有2个,由于有2个第2名,90分就成了第4名,第5名80分,第6名70分有3个,由于有3个第6名,60分就为第9名,第10名50分。
▼优质解答
答案和解析
第一题
#include
int main()
{
int x[100],n,i,j,c;
while(scanf("%d",&n)!=EOF)
{
//9 50 80 90 40 100 90 80 70 80
for(i=0;i {
scanf("%d",&x[i]);
}
//A: 50 90 100 80 80
printf("A:");
for(i=0;i {
if(i%2==0)
printf(" %d",x[i]);
}
puts("");
printf("B:");
for(i=0;i {
if(i%2==1)printf(" %d",x[i]);
}
puts("");
c=0;
for(i=0;i {
for(j=0;j {
if(x[i]==x[j])break;//出现了退出
}
if(j==c)//没有出现
{
x[c]=x[i];//保存
c++;
printf("%d ",x[i]);
}
}
puts("");
}
return 0;
}
第二题
#include
int main()
{
int a[100],n=10;
int i,j,tmp,k;
// scanf("%d",&n);想N自动输入可以加上这一句话
for(i=0;i {
scanf("%d",&a[i]);
}
for(i=0;i {
k=i;
for(j=i+1;j {
if(a[j]>a[k])k=j;
}
tmp=a[i];
a[i]=a[k];
a[k]=tmp;
}
for(i=0;i {
printf("%d:%d ",i+1,a[i]);
}
puts("");
return 0;
}