这是我写的
#include <stdio.h>
int main()
{
void swap(int a[50],int n);
int find(int b,int n);
int a[50],b,i,n,v;
scanf("%d",&n);
for(i=0;i<n;i++)
{ scanf("%d",&a[i]);}
scanf("%d",&b);
swap (a,n);
for(i=0;i<n;i++)
{ if(i==9)
printf("\n");
printf("%d ",a[i]);}
printf("\n");
v=find (b,n);
printf("%d\n",v);
return 0;
}
void swap(int a[],int n)
{
int i,m,j;
for (i=0;i<n;i++)
{for(j=i+1;j<n;j++)
if (a[i]<a[j])
{
m=a[j];
a[j]=a[i];
a[i]=m;
}}
}
int find(int b,int n)
{
int i,a[50],v;
for(i=0;i<n;i++)
{if(a[i]==b)
v=i+1;
break;}
return v;
}
题目是输入是多少个成绩,然后各是多少,和想找那个成绩的排名,输出排序和名次
名次输出不对,不知道错在哪了
#include <stdio.h>
int main()
{
void swap(int a[50],int n);
int find(int b,int n);
int a[50],b,i,n,v;
scanf("%d",&n);
for(i=0;i<n;i++)
{ scanf("%d",&a[i]);}
scanf("%d",&b);
swap (a,n);
for(i=0;i<n;i++)
{ if(i==9)
printf("\n");
printf("%d ",a[i]);}
printf("\n");
v=find (b,n);
printf("%d\n",v);
return 0;
}
void swap(int a[],int n)
{
int i,m,j;
for (i=0;i<n;i++)
{for(j=i+1;j<n;j++)
if (a[i]<a[j])
{
m=a[j];
a[j]=a[i];
a[i]=m;
}}
}
int find(int b,int n)
{
int i,a[50],v;
for(i=0;i<n;i++)
{if(a[i]==b)
v=i+1;
break;}
return v;
}
题目是输入是多少个成绩,然后各是多少,和想找那个成绩的排名,输出排序和名次
名次输出不对,不知道错在哪了