二级C语言上机分类
第一类 删除或移动星号1.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。
void fun(char *a )
{while(*a!='\0') a++;
a--;
while(*a=='*') a--;
*(a+1)='\0';
}
改:a2=k/10 [2]return i;N [2]i [3]-1
2.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。void fun(char *a)
{ int i=0; char *p=a ;
while(*p&&*p=='*') { a[i]=*p; i++; p++;}
while(*p){ if(*p!=’*’) { a[i]=*p; i++; } p++; }
a[i]= '\0';
}
改:[1]int k=0;while(*p ||*q)
填:[1]i [2]ps[j] [3]tp3.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
例如,若字符串中的内容为*******A*BC*DEF*G****,假设n的值为4,删除后,字符串中的内容则应当是****A*BC*DEF*G****。oid