南开百题(精简版).doc
文本预览下载声明
PAGE
PAGE 2
10个人100行的选票
★☆题目39。对10个候选人进行选举,全选或不选均为无效的选票.
{int I,j=0,k=0;
char *str;
for(I=0;I10;I++)
yy[I]=0;
for(I=0;I100;I++)
{str=xx[I];j=0;
while(*str)
if(*str==1){j++;str++;}
else str++;
if(j!=0j!=10)
{str=xx[I];k=0;
while(*str)
if(*str++==1) yy[k++]+=1;
else k++;}
}}
★☆题目58。对10个候选人进行选举,若一张选票人数小于等于5个人时被认为无效的选票。
{int I,count,j;
char *pf;
for(I=0;I10;I++) yy[I]=0;
for(I=0;I100;I++)
{pf=xx[I];count=0;
while (*pf)
if(*pf==1){count++;pf++;}
else pf++;
if (count5)
{pf=xx[I]; j=0;
while (*pf)
if (*pf==1) {yy[j]+=1;j++;pf++;}
else if (*pf==0) {pf++;j++;}
}
}}
★题目84。对10个候选人进行选举,若一张选票人数大于5个人时认为无效的选票.
{ int i,j,k;
for(i=0;i10;i++)
{ k=0;
for(j=0;j10;j++)
if(xx[i][j]==1) k++;
if(k5) continue;
for(j=0;j10;j++)
if(xx[i][j]==1) yy[j]++; }
}
200个正整数
★☆题目5。在文件in.dat中有200个正整数, 1000至9999之间。按原先的数值进行降序排列。
{int I,j,data;
for(I=0;I199;I++)
for(j=I+1;j200;j++)
{if (aa[I]%1000aa[j]%1000)
{data=aa[I];aa[I]=aa[j];aa[j]=data;}
else if(aa[I]%1000==aa[j]%1000)
if(aa[I]aa[j])
{data=aa[I];aa[I]=aa[j];aa[j]=data;}
}
for(I=0;I10;I++)
bb[I]=aa[I];
}
题目6 。在文件in.dat中有200个正整数, 1000至9999之间。按原先的数值进行升序排列。
{int I,j,data;
for(I=0;I199;I++)
for(j=I+1;j200;j++)
{if (aa[I]%1000aa[j]%1000)
{data=aa[I];aa[I]=aa[j];aa[j]=data;}
else if(aa[I]%1000==aa[j]%1000)
if(aa[I]aa[j])
{data=aa[I];aa[I]=aa[j];aa[j]=data;}
}
for(I=0;I10;I++)
bb[I]=aa[I];}
200组数据
题目60。在文件in.dat中有200组数据,每组有3个数,按照每组数据的第二个数加第三个之和的大小进行降序排列
{int I,cnt=0,j;
Data ch;
for(I=0;I200;I++)
if(aa[I].x2aa[I].x1+aa[I].x3)
{bb[cnt]=aa[I];cnt++;}
for(I=0;Icnt-1;I++)
for(j=I+1;jcnt;j++)
if (bb[I].x2+bb[I].x3bb[j].x2+bb[j].x3)
{ ch=bb[I];bb[I]=bb[j];bb[j]=ch;}
return cnt;
}
★☆题目75 。在文件in.dat中有200组数据,每组有3个数,按照每组数据的第一个数加第三个之和的大小进行升序排列
{int I,j,count=0;
Data val;
for(I=0;I200;I++)
if(aa[I].x1aa[I].x2+aa[I].x3)
{bb[count].x1=aa[I].x1;
bb[count].x2=aa[I].x2;
bb[count].x3=aa[I].x3;
count++;}
for(I=0;Icount-1;I++)
显示全部