1、填写delch()函数中的空,使它实现将所给字符串中所有非数字字符剔除的功能。
#include<stdio.h>
void delch(char *s)
{
int i,j;
char *a=s;
for(i=0,j=0;a[i]!='\0';i++){
if(a[i]>='0'&&a[i]<='9'){
s[j]=a[i];
j++;
}
s[j]='\0';
}
}
void main()
{
char b[]="a34bc",*item=b;
delch(item);
printf("%s",item);
}
2、程序利用函数指针来实现:当输入n为偶数时,调用函数float peven(int n),当输入n为奇数时,调用函数float podd(int n)。
#include<stdio.h>
float peven(int n) {
return 2.0f;
}
float podd(int n) {
return 1.0f;
}
float dcall(float (*fp)(int), int n){
float s;
s=(*fp)(n);
return(s);
}
void main(){
float sum;int n;
while (1){
scanf("%d", &n);if(n>1) break;
}
if(n%2==0){
printf( "Even=");
sum=dcall(peven,n);
}else{
printf ("Odd=");
sum=dcall(podd,n);
}
printf("%f", sum);
}