(2)
void NIXU(char A[])
{
char ch;
static int i=0;
scanf("%c",&ch);
if(ch!='.')
{
NIXU(A);
A[i++]=ch;
}
A[i]='\0';
}
(4)
void format(char *s1,char *s2,char *s3,int n)
{
//格式化成n长度的s2字符串
char *p=s1,*q=s2;
int i=0;
while(*p!='\0'&&*p==' ') p++;//滤掉 s1左端的空格
if(*p=='\0')
{
printf("s1是空串或空格串\n");
exit(0);
}
while(*p!='\0'&&i<n)
{
*q=*p;
p++;
q++;
i++;
}
if(*p=='\0')
{
printf("s1串没有%d个字符\n",n);
exit(0);
}
if(*(--q)==' ')//s2尾字符不得为空字符
{
p--;
while(*p!='\0'&&*p==' ')
{
p++;
}
if(*p=='\0')
{
printf("s1串没有%d个字符\n",n);
exit(0);
}
*q=*p;
*(++q)='\0';
}
//多余字符送s3
*q=s3;
p++;
while(*p!='\0')
{
*q=*p;
q++;
p++;
}
*(++q)='\0';
}
(6)
void paixu(char A[],int n)
{
int i=0;j=n-1;
while(i<j)
{
while(i<j&&A[i]>0)//前面的正数
i++;
while(i<j&&A[j]<0)//后面的负数
j--;
if(i<j)//正负交换
{
int x=A[i++];
A[i]=A[j];
A[j]=x;
}
}
}