早教吧作业答案频道 -->其他-->
您能解答此C语言问题吗?Description用选择法对N个学生的成绩按从大到小的顺序排序,N个学生的成绩整数用scanf输入,输入的成绩在[0,100]之间。排序完成后,输入一个成绩,要求用逐个比
题目详情
您能解答此C语言问题吗?
Description
用选择法对N个学生的成绩按从大到小的顺序排序,N个学生的成绩整数用scanf
输入,输入的成绩在[0,100]之间。排序完成后,输入一个成绩,要求用逐个比较查找的方式找出该成绩是该组中第几个元素的值(即第几名)。如果该成绩不在数组中,则输出“no
this score!”。 要求: 1、把排序算法写成函数形式,在主函数中输入N个数据,然后调用排序函数排序。 2、在排序过程中尽量减少数据的交换和移动。
3、把查找算法写成函数形式,在主函数中输入1个数据,然后调用查找函数查找。
Input
输入共有三行:第一行是一个数N(N < 50),表示学生的人数; 第二行输入N个学生的成绩;
第三行输入一个数m(你要查找的成绩)
Output
第一行输出N个已经排好序的成绩,每两个成绩之间有一个空格隔开,每10个数据换一行(由大到小排列)。
第二行输出你要查找的成绩的名次(如果成绩相同,则并列)。具体的见Sample Output。
Description
用选择法对N个学生的成绩按从大到小的顺序排序,N个学生的成绩整数用scanf
输入,输入的成绩在[0,100]之间。排序完成后,输入一个成绩,要求用逐个比较查找的方式找出该成绩是该组中第几个元素的值(即第几名)。如果该成绩不在数组中,则输出“no
this score!”。 要求: 1、把排序算法写成函数形式,在主函数中输入N个数据,然后调用排序函数排序。 2、在排序过程中尽量减少数据的交换和移动。
3、把查找算法写成函数形式,在主函数中输入1个数据,然后调用查找函数查找。
Input
输入共有三行:第一行是一个数N(N < 50),表示学生的人数; 第二行输入N个学生的成绩;
第三行输入一个数m(你要查找的成绩)
Output
第一行输出N个已经排好序的成绩,每两个成绩之间有一个空格隔开,每10个数据换一行(由大到小排列)。
第二行输出你要查找的成绩的名次(如果成绩相同,则并列)。具体的见Sample Output。
▼优质解答
答案和解析
#include<stdio.h>
int soft(int a[],int n);
int search(int a[],int n,int key);
int main()
{
int a[50];
int n;
printf("请输入学生的总数:");
scanf("%d",&n);
printf("请输入所有学生的成绩(成绩在0~100之间):\n");
for(int i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
soft(a,n);
int m;
printf("请输入您想查找的成绩:");
scanf("%d",&m);
int k=search(a,n,m);
if( k>=0)
printf("该成绩是第%d名",(k+1));
else printf("no this score!");
return 0;
}
int soft(int a[],int n)
{
bool flag=false;
int i,j,m;
for(i=0; i<n; i++)
{
if(flag==false)
{
flag=true;
for(j=i+1; j<n; j++)
{
if(a[i]<a[j])
{
m=a[i];
a[i]=a[j];
a[j]=m;
}
flag=false;
}
}
}
for(j=0; j<=n%10; j++)
{
for(i=j*10; (i<(j+1)*10)&&i<n; i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
return 0;
}
int search(int a[],int n,int key)
{
int lower,upper,j;
lower=0;
upper=n-1;
while(upper>=lower)
{
j=(lower+upper)/2;
if(key==a[j])
return j;
else if(key>a[j])
upper=j-1;
else lower=j+1;
}
return -1;
}
看了您能解答此C语言问题吗?Des...的网友还看了以下:
A、B两种有机物都能使溴水褪色,在催化剂存在条件下与过量H2充分加成均生成2-甲基丁烷;0.4mo 2020-04-27 …
根据如图下列说法正确的是()A.图示的各种成分在生态学上可以构成一个生态系统B.图示的各种成分在生 2020-06-13 …
水溶液显碱性的单质气体有哪些?这个问题是这样的?ABC是高中常见单质BDEF溶液均显碱性常温下B为 2020-06-23 …
生产某种产品q个单位时成本函数为c(q)=200+0·05q平方,求生产90个单位该产品时的平均成 2020-07-26 …
我县今年参加中考共有12000名学生,从中抽取1200名考生的数学成绩进行分析,以下说法中正确的是( 2020-11-06 …
我县今年参加中考共有12000名学生,从中抽取1200名考生的数学成绩进行分析,以下说法中正确的是( 2020-11-06 …
下列有关生态系统的描述,错误的是()A.生产者是生态系统必不可少的成分B.一片树叶就是一个生态系统C 2020-12-07 …
下列有关叙述错误的是()A.除病毒等少数种类外,一切生物体都是由细胞构成的B.单细胞生物,一个细胞就 2020-12-20 …
种群是指一个生态系统中A,同种生物所有的成熟个体的总和B,所有生物成熟个体的总和C,同总生物所有个体 2020-12-22 …
下列关于单细胞生物的叙述中,错误的是()A.整个生物体只由一个细胞构成B.能完成呼吸﹑生殖等复杂的生 2020-12-24 …