
用C语言写了一个程序,输入字符串和数字,然后输出按字符串的顺序依次输出。有哪位高手能帮忙看一下这个。
刚刚初学C语言,请高手能帮一下忙,小弟万分感激!#include<stdio.h>#include<string.h>#defineM20#defineN8charstr...
刚刚初学C语言,请高手能帮一下忙,小弟万分感激!
#include<stdio.h>
#include<string.h>
#define M 20
#define N 8
char str[N][M];
struct student
{
char *p[N];
int n;
}stu[N],t;
int main()
{
void sort(char *s[]);
int i;
for(i=0;i<N;i++)
{
stu[i].p[i]=str[i];
}
for(i=0;i<N;i++)
scanf("%s%d",stu[i].p[i],stu[i].n);
sort(stu[N].p);
for(i=0;i<N;i++)
{
printf("%s %d",stu[i].p[i],stu[i].n);
printf("\n");
}
return 0;
}
void sort(char *s[])
{
int i,j,k;
for(i=0;i<N-1;i++)
{
k=i;
for(j=i+1;j<N;j++)
{
if(strcmp(*(s+i),*(s+j))>0)
{
k=j;
t=*(s+i);
*(s+i)=*(s+k);
*(s+k)=t;
}
}
}
} 展开
#include<stdio.h>
#include<string.h>
#define M 20
#define N 8
char str[N][M];
struct student
{
char *p[N];
int n;
}stu[N],t;
int main()
{
void sort(char *s[]);
int i;
for(i=0;i<N;i++)
{
stu[i].p[i]=str[i];
}
for(i=0;i<N;i++)
scanf("%s%d",stu[i].p[i],stu[i].n);
sort(stu[N].p);
for(i=0;i<N;i++)
{
printf("%s %d",stu[i].p[i],stu[i].n);
printf("\n");
}
return 0;
}
void sort(char *s[])
{
int i,j,k;
for(i=0;i<N-1;i++)
{
k=i;
for(j=i+1;j<N;j++)
{
if(strcmp(*(s+i),*(s+j))>0)
{
k=j;
t=*(s+i);
*(s+i)=*(s+k);
*(s+k)=t;
}
}
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询