|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码有点长,是这样子的:
- #include<stdio.h>
- struct num{
- int a,b;
- };
- void f(struct num s[],int n)
- {
- int index,j,k;
- struct num temp;
- for(k=0;k<n-1;k++)
- {
- index=k;
- for(j=k+1;j<n;j++)
- if(s[j].b<s[index].b) index=j;
- temp=s[index];
- s[index]=s[k];
- s[k]=temp;
- }
- }
- int main()
- {
- int count,i,k,m,n,no;
- struct num s[100],*p;
- scanf("%d%d%d",&n,&m,&k);
- for(i=0;i<n;i++)
- {
- s[i].a=i+1;
- s[i].b=0;
- }
- p=s;
- count=no=0;
- while(no<n)
- {
- if(p->b==0) count++;
- if(count==m)
- {
- no++;
- p->b=no;
- count=0;
- }
- p++;
- if(p==s+n)
- p=s;
- }
- f(s,n);
- printf("%d: %d\n",s[k-1].b,s[k-1].a);
- return 0;
- }
复制代码
我带了一组数“5 4 3”进去算,但是卡在了f()那里……因为s[].b的值没有弄清楚……这种相对长一点的代码心里就怵得慌了 |
|