C语言,考题帮帮我
1.在函数中进行10个学生成绩从高到低排名sort(inta[10])2.改进第一步的函数为sort(inta[],intn),进行n个学生成绩从高到低排名,3.改进第二...
1. 在函数中进行10个学生成绩从高到低排名 sort(int a[10])
2. 改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名,
3. 改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。
(a:ascending 升,d:descending 降)
具体写下程序源码 展开
2. 改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名,
3. 改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。
(a:ascending 升,d:descending 降)
具体写下程序源码 展开
展开全部
/*
1. 在函数中进行10个学生成绩从高到低排名 sort(int a[10])
2. 改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名,
3. 改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。
(a:ascending 升,d:descending 降) */
#include <stdio.h>
void sort1(int a1[10]);
void sort2(int a2[],int n);
void sort3(int a[],int n, char style);
main()
{
int p[10];//步骤1中用于存放10个成绩
int q[100];//步骤2中用于存放成绩
int r[100];//步骤3中用于存放成绩
int i;//循环用
int n;//步骤2中学生成绩的个数
int m;//步骤3中学生成绩的个数
char style;//步骤3中的排列方式
printf("下面是步骤1的演示结果\n");
printf("***********************************\n");
printf("请输入十个学生的成绩:\n");
for(i=0;i<10;i++)
{
scanf("%d",&p[i]);
}
sort1(p);
printf("下面是十个学生成绩的从高到低排名:\n");
for(i=0;i<10;i++)
{
printf("%d ",p[i]);
}
printf("\n\n\n\n\n\n");
printf("下面是步骤2的演示结果\n");
printf("***********************************\n");
printf("请输入学生个数:\n");
scanf("%d",&n);
printf("请为这%d名同学录入成绩:\n",n);
for (i=0;i<n;i++)
{
scanf("%d",&q[i]);
}
sort2(q,n);
printf("该组学生成绩的排序如下:\n");
for(i=0;i<n;i++)
{
printf("%d ",q[i]);
}
printf("\n\n\n\n\n\n");
printf("下面是步骤3的演示结果\n");
printf("***********************************\n");
printf("请输入学生个数:\n");
scanf("%d",&m);
printf("请为这%d名同学录入成绩:\n",m);
for (i=0;i<m;i++)
{
scanf("%d",&r[i]);
}
printf("请选择要升序还是降序(升序请输入a,降序请输入b)\n");
scanf("%s",&style);
sort3(r,m,style);
printf("该组学生成绩的排序如下:\n");
for(i=0;i<m;i++)
{
printf("%d ",r[i]);
}
printf("\n");
}
void sort1(int a1[10])//步骤1
{
int i,j;
int t;
for(i=0;i<10;i++)
for (j=0;j<10-i-1;j++)
{
if(a1[j]<a1[j+1])
{
t=a1[j];
a1[j]=a1[j+1];
a1[j+1]=t;
}
}
}
void sort2(int a2[],int n)//步骤2
{
int i,j;
int t;
for(i=0;i<n;i++)
for (j=0;j<n-i-1;j++)
{
if(a2[j]<a2[j+1])
{
t=a2[j];
a2[j]=a2[j+1];
a2[j+1]=t;
}
}
}
void sort3(int a3[],int n, char style)//步骤3
{
int i,j;
int t;
if(style == 'a')//升序算法
{
for(i=0;i<n;i++)
for (j=0;j<n-i-1;j++)
{
if(a3[j]>a3[j+1])
{
t=a3[j];
a3[j]=a3[j+1];
a3[j+1]=t;
}
}
}
if(style =='b')//降序算法
{
for(i=0;i<n;i++)
for (j=0;j<n-i-1;j++)
{
if(a3[j]<a3[j+1])
{
t=a3[j];
a3[j]=a3[j+1];
a3[j+1]=t;
}
}
}
}
以上方法你复制粘贴就行了~
希望对你有帮助~
1. 在函数中进行10个学生成绩从高到低排名 sort(int a[10])
2. 改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名,
3. 改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。
(a:ascending 升,d:descending 降) */
#include <stdio.h>
void sort1(int a1[10]);
void sort2(int a2[],int n);
void sort3(int a[],int n, char style);
main()
{
int p[10];//步骤1中用于存放10个成绩
int q[100];//步骤2中用于存放成绩
int r[100];//步骤3中用于存放成绩
int i;//循环用
int n;//步骤2中学生成绩的个数
int m;//步骤3中学生成绩的个数
char style;//步骤3中的排列方式
printf("下面是步骤1的演示结果\n");
printf("***********************************\n");
printf("请输入十个学生的成绩:\n");
for(i=0;i<10;i++)
{
scanf("%d",&p[i]);
}
sort1(p);
printf("下面是十个学生成绩的从高到低排名:\n");
for(i=0;i<10;i++)
{
printf("%d ",p[i]);
}
printf("\n\n\n\n\n\n");
printf("下面是步骤2的演示结果\n");
printf("***********************************\n");
printf("请输入学生个数:\n");
scanf("%d",&n);
printf("请为这%d名同学录入成绩:\n",n);
for (i=0;i<n;i++)
{
scanf("%d",&q[i]);
}
sort2(q,n);
printf("该组学生成绩的排序如下:\n");
for(i=0;i<n;i++)
{
printf("%d ",q[i]);
}
printf("\n\n\n\n\n\n");
printf("下面是步骤3的演示结果\n");
printf("***********************************\n");
printf("请输入学生个数:\n");
scanf("%d",&m);
printf("请为这%d名同学录入成绩:\n",m);
for (i=0;i<m;i++)
{
scanf("%d",&r[i]);
}
printf("请选择要升序还是降序(升序请输入a,降序请输入b)\n");
scanf("%s",&style);
sort3(r,m,style);
printf("该组学生成绩的排序如下:\n");
for(i=0;i<m;i++)
{
printf("%d ",r[i]);
}
printf("\n");
}
void sort1(int a1[10])//步骤1
{
int i,j;
int t;
for(i=0;i<10;i++)
for (j=0;j<10-i-1;j++)
{
if(a1[j]<a1[j+1])
{
t=a1[j];
a1[j]=a1[j+1];
a1[j+1]=t;
}
}
}
void sort2(int a2[],int n)//步骤2
{
int i,j;
int t;
for(i=0;i<n;i++)
for (j=0;j<n-i-1;j++)
{
if(a2[j]<a2[j+1])
{
t=a2[j];
a2[j]=a2[j+1];
a2[j+1]=t;
}
}
}
void sort3(int a3[],int n, char style)//步骤3
{
int i,j;
int t;
if(style == 'a')//升序算法
{
for(i=0;i<n;i++)
for (j=0;j<n-i-1;j++)
{
if(a3[j]>a3[j+1])
{
t=a3[j];
a3[j]=a3[j+1];
a3[j+1]=t;
}
}
}
if(style =='b')//降序算法
{
for(i=0;i<n;i++)
for (j=0;j<n-i-1;j++)
{
if(a3[j]<a3[j+1])
{
t=a3[j];
a3[j]=a3[j+1];
a3[j+1]=t;
}
}
}
}
以上方法你复制粘贴就行了~
希望对你有帮助~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询