當前位置:編程學習大全網 - 編程語言 - 二級C語言關於結構體的題目

二級C語言關於結構體的題目

#include <stdio.h>

#include<string.h>

struct st{

char a[15];

long b;

};?

int main ()?

{

struct st s[111];

long end[111];

char t[50][14],other[14]={'333'},son[50][14],gson[50][14];

char x[11];

int n;

scanf("%d",&n);

getchar();

for(int i=0;i<n;i++)

{

scanf("%s%ld",s[i].a,&s[i].b);

}

for(int i=0;i<n;i++)//排序?

{

for(int j=0;j<n-1-i;j++)

{

if(strcmp(s[j].a,s[j+1].a)>0)

{

strcpy(x,s[j].a);

strcpy(s[j].a,s[j+1].a);

strcpy(s[j+1].a,x);

}

}

}

for(int i=0;i<n-1;i++)

{

for(int j=i+1;j<n;j++)

{

if(strcmp(s[i].a,s[j].a)==0&&s[i].b==s[j].b)

{

strcpy(s[i].a,other);//去名字和號碼同時重復的?

s[i].b=0;

}

}

}?

int k=0;

for(int i=0;i<n;i++)

{

if(strcmp(s[i].a,other)!=0)

{

strcpy(t[k],s[i].a);

end[k]=s[i].b;

k++;

}

}

for(int i=0;i<k;i++)

{

strcpy(son[i],t[i]);

}

for(int i=0;i<k-1;i++)//在上面的基礎上再去名字重復的;?

{

for(int j=i+1;j<k;j++)

{

if(strcmp(son[i],son[j])==0)

{

strcpy(son[i],other);

}

}

}

int word=0;

for(int i=0;i<k;i++)

{

if(strcmp(son[i],other)!=0)?

{

strcpy(gson[word],son[i]);

word++;

}

}

printf("\n");

int sum=0;

for(int i=0;i<word;i++)

{

sum=0;

for(int j=0;j<k;j++)

{

if(strcmp(gson[i],t[j])==0)

{

if(sum==0)

printf("%s %ld\n",gson[i],end[j]);

if(sum!=0)

printf("%s_%d %ld\n",gson[i],sum,end[j]);

sum++;

}

}

}

return 0;

}

  • 上一篇:PHP工程師都要學習什麽?就業方向如何?
  • 下一篇:金融工程專業不考研是不是就沒有優勢?
  • copyright 2024編程學習大全網