scanf(\ sort(str);
printf(\ for (i=0;i<10;i++) printf(\ return 0; }
void sort(char s[10][6]) {int i,j;
char *p,temp[10]; p=temp;
for (i=0;i<9;i++) for (j=0;j<9-i;j++)
if (strcmp(s[j],s[j+1])>0) {strcpy(p,s[j]);
strcpy(s[j],s[+j+1]); strcpy(s[j+1],p); } } 8-12
#include
{void sort(char *[]); int i;
char *p[10],str[10][20]; for (i=0;i<10;i++) p[i]=str[i];
printf(\ for (i=0;i<10;i++) scanf(\ sort(p);
printf(\ for (i=0;i<10;i++) printf(\ return 0; }
void sort(char *s[]) {int i,j;
char *temp; for (i=0;i<9;i++) for (j=0;j<9-i;j++)
if (strcmp(*(s+j),*(s+j+1))>0) {temp=*(s+j); *(s+j)=*(s+j+1); *(s+j+1)=temp; } } 8-16
#include
char str[50],*pstr;
int i,j,k,m,e10,digit,ndigit,a[10],*pa; printf(\ gets(str);
pstr=&str[0]; /*字符指针pstr置于数组str 首地址*/ pa=&a[0]; /*指针pa置于a数组首地址*/ ndigit=0; /*ndigit代表有多少个整数*/ i=0; /*代表字符串中的第几个字符*/ j=0;
while(*(pstr+i)!='\\0') {if((*(pstr+i)>='0') && (*(pstr+i)<='9')) j++; else
{if (j>0)
{digit=*(pstr+i-1)-48; /*将个数位赋予digit*/ k=1;
while (k *pa=digit; /*将数值赋予数组a*/ ndigit++; pa++; /*指针pa指向a数组下一元素*/ j=0; } } i++; } if (j>0) /*以数字结尾字符串的最后一个数据*/ {digit=*(pstr+i-1)-48; /*将个数位赋予digit*/ k=1; while (k for (m=1;m<=k;m++) e10=e10*10; /*e10代表位数所应乘的因子*/ digit=digit+(*(pstr+i-1-k)-48)*e10; /*将该位数的数值累加于digit*/ k++; /*位数K自增*/ } *pa=digit; /*将数值赋予数组a*/ ndigit++; j=0; } printf(\ j=0; pa=&a[0]; for (j=0;j