5
00508192 3 2
00508153 4 5
00508172 3 2
00508023 4 5
00509122 4 5
样例输出
3 2 00508192 00508172
4 5 00508153 00508023 00509122
下面是我的程序,编的两个viod函数无法正常运行
#include
#include
#include
#define Null 0
typedef struct{
char num[8];
int mon;
int day;
}DicStu;
struct Dic{
int n;
DicStu *element;
};
typedef struct Dic* PDic;
PDic creatDic(int m){
PDic stu=(PDic)malloc(sizeof(struct Dic));
if(stu!=Null){
stu->element=(DicStu*)malloc(sizeof(DicStu)*m);
stu->n=m;
return stu;
}
}
void insert(PDic stu,int p,char a[],int b,int c){
strcpy(stu->element[p].num,a);
stu->element[p].mon=b;
stu->element[p].day=c;
}
void Search(PDic stu,int a,int b){
int i;
printf("%d %d ",a,b);
while(i
if(stu->element[i].mon==a&&stu->element[i].day==b)
printf("%s ",stu->element[i].num);
}
printf("\n");
}
void main(){
int n,i,j;
int b[12][31];
for(i=0;i<12;i++){
for(j=0;j<31;j++) b[i][j]=0;
}
scanf("%d",&n);
DicStu a[101];
PDic stu=creatDic(n);
for(i=0;i
insert(stu,i,a[i].num,a[i].mon,a[i].day);
}
for(i=0;i
}
for(i=0;i<12;i++){
for(j=0;j<31;j++){
if(b[i][j]>1)
Search(stu,i,j);
}
}
}