#define MAX 100 typedef struct{
char dm[5]; /*²úÆ·´úÂë*/ char mc[11]; /*²úÆ·Ãû³Æ*/ int dj; /*µ¥¼Û*/ int sl; /*ÊýÁ¿*/ long je; /*½ð¶î*/ }PRO;
PRO sell[MAX]; void ReadDat(); void WriteDat();
void SortDat() {int i,j; PRO xy;
for(i=0;i<99;i++)
for(j=i+1;j<100;j++)
if(strcmp(sell[i].dm,sell[j].dm)<0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je void main() { memset(sell,0,sizeof(sell)); ReadDat(); SortDat(); WriteDat(); } void ReadDat() { FILE *fp; char str[80],ch[11]; int i; fp=fopen(\ for(i=0;i<100;i++){ fgets(str,80,fp); memcpy(sell[i].dm,str,4); memcpy(sell[i].mc,str+4,10); memcpy(ch,str+14,4);ch[4]=0; sell[i].dj=atoi(ch); memcpy(ch,str+18,5);ch[5]=0; sell[i].sl=atoi(ch); sell[i].je=(long)sell[i].dj*sell[i].sl; } fclose(fp); } void WriteDat(void) { FILE *fp; int i; fp=fopen(\ for(i=0;i<100;i++){ printf(\ fprintf(fp,\ } fclose(fp); } ****************************************************************************** ¡ïÌâÄ¿8£¨×Ö·ûÌæ»»Ìâ) º¯ÊýReadDat()ʵÏÖ´ÓÎļþENG.INÖжÁȡһƪӢÎÄÎÄÕ£¬´æÈëµ½×Ö·û´®Êý×éxxÖУ»Çë±àÖÆº¯ÊýencryptChar()£¬°´¸ø¶¨µÄÌæ´ú¹ØÏµ¶ÔÊý×éxxÖеÄËùÓÐ×Ö·û½øÐÐÌæ´ú£¬ÈÔ´æÈëÊý×éxxµÄ¶ÔÓ¦µÄλÖÃÉÏ£¬×îºóµ÷Óú¯ÊýWriteDat()°Ñ½á¹ûxxÊä³öµ½ÎļþPS1.DATÖС£ Ìæ´ú¹ØÏµ£ºf(p)=p*11 mod 256£¨pÊÇÊý×éÖÐijһ¸ö×Ö·ûµÄASCIIÖµ£¬f(p)ÊǼÆËãºóÐÂ×Ö·ûµÄASCIIÖµ£©£¬Èç¹û¼ÆËãºóf(p)ֵСÓÚµÈÓÚ32»ò´óÓÚ130£¬Ôò¸Ã×Ö·û²»±ä£¬·ñÔò½«f(p)Ëù¶ÔÓ¦µÄ×Ö·û½øÐÐÌæ´ú¡££¨×¢ÒâÖмä±äÁ¿ÓÃÎÞ·ûºÅÕûÐÍ£©£¬²¿·ÖÔ´³ÌÐò´æÔÚÎļþprog1.cÖС£ÔʼÊý¾ÝÎļþ´æ·ÅµÄ¸ñʽÊÇ£ºÃ¿ÐеĿí¶È¾ùСÓÚ80¸ö×Ö·û¡£ ÇëÎð¸Ä¶¯Ö÷º¯Êýmain()¡¢¶ÁÊý¾Ýº¯ÊýReadDat()ºÍÊä³öÊý¾Ýº¯ÊýWriteDat()µÄÄÚÈÝ¡£ #include unsigned char xx[50][80]; int maxline=0;/*ÎÄÕµÄ×ÜÐÐÊý*/ int ReadDat(void); void WriteDat(void); void encryptChar() { int i,j; for(i=0;i for(j=0;j if(xx[i][j]*11%6<=32||xx[i][j]*11%6>130) continue; else xx[i][j]=xx[i][j]*11%6; } void main() { clrscr(); if(ReadDat()){ printf(\Êý¾ÝÎļþENG.IN²»ÄÜ´ò¿ª£¡\\n\\007\ return; } encryptChar(); WriteDat(); } int ReadDat(void) { FILE *fp; int i=0; unsigned char *p; if((fp=fopen(\ while(fgets(xx[i],80,fp)!=NULL){ p=strchr(xx[i],'\\n'); if(p)*p=0; i++; } maxline=i; fclose(fp); return 0; } void WriteDat(void) { FILE *fp; int i; fp=fopen(\ for(i=0;i fclose(fp); } ****************************************************************************** ¡ï¡îÌâÄ¿9£¨×Ö·û´®ÅÅÐòÌâ) º¯ÊýReadDat()ʵÏÖ´ÓÎļþIN.DATÖжÁȡһƪӢÎÄÎÄÕ´æÈëµ½×Ö·û´®Êý×éxxÖУ¬Çë±àÖÆº¯ÊýSortCharD()£¬Æäº¯ÊýµÄ¹¦ÄÜÊÇ£ºÒÔÐÐΪµ¥Î»¶Ô×Ö·û°´´Ó´óµ½Ð¡µÄ˳Ðò½øÐÐÅÅÐò£¬ÅÅÐòºóµÄ½á¹ûÈÔ°´ÐÐÖØÐ´æÈë×Ö·û´®Êý×éxxÖУ¬×îºóµ÷Óú¯ÊýwriteDat()°Ñ½á¹ûxxÊä³öµ½ÎļþOUT2.DATÖС£ Àý£ºÔÎÄ£ºdAe,BfC. CCbbAA ½á¹û£ºfedCBA. bbCCAA ÔʼÊý¾ÝÎļþ´æ·ÅµÄ¸ñʽÊÇ£ºÃ¿ÐеĿí¶È¾ùСÓÚ80¸ö×Ö·û£¬º¬±êµã·ûºÅºÍ¿Õ¸ñ¡£ ²¿·ÖÔ´³ÌÐò´æÔÚÎļþprog1.cÖС£ ÇëÎð¸Ä¶¯Ö÷º¯Êýmain()¡¢¶ÁÊý¾Ýº¯ÊýReadDat()ºÍÊä³öÊý¾Ýº¯ÊýwriteDat()µÄÄÚÈÝ¡£ #include char xx[50][80]; int maxline=0;/*ÎÄÕµÄ×ÜÐÐÊý*/ int ReadDat(void); void WriteDat(void); void SortCharD(void) {int i,j,k,strl; char ch; for(i=0;i {ch=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=ch;} } } void main() { clrscr(); if(ReadDat()){ printf(\Êý¾ÝÎļþIN.DAT²»ÄÜ´ò¿ª£¡\\n\\007\ return; }
Ïà¹ØÍÆ¼ö£º