asp中如何对表中的某个数据进行排序.并插入一列排序按1,2,3,4...输出
答案:2 悬赏:10
解决时间 2021-12-12 09:57
- 提问者网友:陪我到最后
- 2021-12-12 01:09
asp中如何对表中的某个数据进行排序.并插入一列排序按1,2,3,4...输出
最佳答案
- 二级知识专家网友:猎杀温柔
- 2021-12-12 01:21
asp没有排序的功能,只能自己写排序的函数。冒泡排序或左右排序法,网上很多这样的实例。
全部回答
- 1楼网友:温柔刺客
- 2021-12-12 01:45
#include
#define maxsize 100
typedef struct student
{
char num[12];
char name[8];
int score;
int rank; //名次
}elemtype;
typedef struct sqlist
{
elemtype data[maxsize];
int length;
}list;
void main()
{
list s;
int i,j;
printf("请输入人数:");
scanf("%d",&s.length);
//---------------------
for(i=1;i<=s.length;i++)
{
printf("请输入第%d个学生的学号:", i);
scanf("%s",s.data[i].num);
printf("请输入第%d个学生的姓名:", i);
scanf("%s",s.data[i].name);
printf("请输入第%d个学生的分数:", i);
scanf("%d",&s.data[i].score);
}
//-----------------------------------
printf("学号\t姓名\t分数\t\n");
for(i=1;i<=s.length;i++)
{
printf("%s\t%s\t%d\t\n",s.data[i].num,s.data[i].name,s.data[i].score);
}
//---------------开始排序了--------------
for(i=2;i<=s.length;i++)
{
s.data[0]=s.data[i];
for(j=i-1;s.data[0].score>s.data[j].score;j--)
{
s.data[j+1]=s.data[j];
}
s.data[j+1]=s.data[0];
}
//-------------输出排序后的结果--------------
printf("----------------------------\n");
printf("学号\t姓名\t分数\t\n");
for(i=1;i<=s.length;i++)
{
printf("%s\t%s\t%d\t\n",s.data[i].num,s.data[i].name,s.data[i].score);
}
s.data[1].rank=1;
for(i=2;i<=s.length;i++)
{
if(s.data[i].score==s.data[i+1].score)
s.data[i+1].rank=s.data[i].rank;
else
s.data[i].rank=i;
}
printf("-------排名后----------\n");
printf("学号\t姓名\t分数\t名次\t\n");
for(i=1;i<=s.length;i++)
{
printf("%s\t%s\t%d\t%d\n",s.data[i].num,s.data[i].name,s.data[i].score,s.data[i].rank);
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯