别忘了结贴
程序代码:
//ºó׺(²»´øÀ¨ºÅ)Ö§³Ö¶àλÊý #include <stdio.h> #include <conio.h> #include <stdlib.h> main() { int i=0,j=0; //i¿ØÖÆÁÙʱջ×î¸ßµã£¬J¿ØÖÆÊä³öÕ» int k=0; //ÁÙʱջµÄÊýÁ¿ char *p; char str[100];//¶ÁÈë×Ö·û´® int str2[100];//ÁÙʱջ char str3[100]={'\0'};//Êä³öÕ» scanf("%s",str); for(p=str;;p++)//Ö¸ÏòÔ­×Ö·û { if(*p>='0'&&*p<='9') str3[j++]=*p; //½«ÄǸöÊý×Ö·ÅÈëÊä³öÕ» else { switch(*p) { case('+'):str2[i++]=11;k++;str3[j++]=' ';break;//Óöµ½·ûºÅÖ®ºóÔÚÆä case('-'):str2[i++]=12;k++;str3[j++]=' ';break;//Ç°Ãæ¼ÓÈë¿Õ¸ñ case('*'):str2[i++]=21;k++;str3[j++]=' ';break;//iÒѾ­Ö¸ÏòÏÂÒ»¸ö case('/'):str2[i++]=22;k++;str3[j++]=' ';break;//?+-*/·½±ãÈ¡Óà } //±íʾÏÈºó¼¶ if(*p=='\0') { switch(str2[0]) { case(11):str3[j]='+';break; case(12):str3[j]='-';break; case(21):str3[j]='*';break; case(22):str3[j]='/';break; } break; } else if(k>=2) { if(str2[i-2]/10<str2[i-1]/10) //±È½ÏÔËËãÏȺóÈôͬ¼¶»òÕߺóÕß´óÓÚÇ°Õß { while(*(p+1)>='0'&&*(p+1)<='9') { p++; str3[j++]=*p; //½«½ÓÏÂÀ´Êý×Ö·ÅÈëÊä³öÕ» } str3[j++]=' '; switch(str2[i-1]) {case(21):str3[j++]='*';str3[j++]=' ';i--;k--;break;//½«ºóÒ»¸ö·ÅÈëÊä³öÕ» case(22):str3[j++]='/';str3[j++]=' ';i--;k--;break;}//iÖ¸»ØÔ­À´×î¸ßλ×Ó switch(str2[i-2]) {case(11):str3[j++]='+';str3[j++]=' ';i--;k--;break; case(12):str3[j++]='-';str3[j++]=' ';i--;k--;break;} } else if(str2[i-2]/10>=str2[i-1]/10) { switch(str2[i-2]) { case(11):str3[j++]='+';str3[j++]=' ';i--;k--;break;//½«Ç°Ò»¸ö·ÅÈëÊä³öÕ» case(12):str3[j++]='-';str3[j++]=' ';i--;k--;break;//iÖ¸»ØÔ­À´×î¸ßλ×Ó case(21):str3[j++]='*';str3[j++]=' ';i--;k--;break;//Ï´ÎÖ±½Ó¸²¸Ç case(22):str3[j++]='/';str3[j++]=' ';i--;k--;break; } str2[i-1]=str2[i]; } } } } printf("%s",str3); getch(); return 0; }