则返回0。
#include
if(n==1)printf(“%d是素数”,a); else printf(“%d不是素数”,a); }
int isprime(int a) {int m;
for(m=2;m 3. 在主函数main()中已有变量定义和函数调用语句:“int a=1,b= -5,c; c=fun (a ,,b)”; fun函数的作用是计算两个数之差的绝对值,并将差值返回调用函数。请你: (1) 编写fun函数。 fun(int x , int y) { } (2) 写出这个主函数main() #include {int a=1,b=-5,c; c=fun(a,b); printf(“c=%d\\n”,c); } int fun(int x,int y) {if(x>y)return x-y; else return y-x; } 4. 编写函数,其功能是删除字符串s中的所有数字字符。 解一:用外部数组编程 #include {printf(“请输入一个字符串:”); gets(s); del(); puts(s); } void del() {int i,j; for(i=0;s[i]!=?\\0?;i++) if(s[i]>=?0?&&s[i]<=?9?) {for(j=i;s[j]!=?\\0?;j++)s[j]=s[j+1]; i--; } } 解二:用指针作参数编程 #include {char s[20]; printf(\请输入一个字符串:\gets(s); del(s); puts(s); } void del(char *p) {int i,j; for(i=0;*(p+i)!='\\0';i++) if(*(p+i)>='0'&&*(p+i)<='9') {for(j=i;*(p+j)!='\\0';j++)*(p+j)=*(p+j+1); i--; } } 解三:用数组作参数编程 #include {char s[20],*p; printf(\请输入一个字符串:\gets(s); p=del(s); puts(p); } char *del(char s[]) {int i,j; for(i=0;s[i]!='\\0';i++) if(s[i]>='0'&&s[i]<='9') {for(j=i;s[j]!='\\0';j++)s[j]=s[j+1]; i--; } return s; } 5. 用函数调用重新实现实验7。即:编写函数求一个整数是否为水仙花数,并编写主程序调用该函数求出所有的水仙花数。(此题为选做) #include for(i=100;i<=999;i++) {p=sxh(i); if(p==1)printf(“%d ”,i); } } int sxh(int n) {int a,b,c; a=n/100; b=(n-a*100)/10; c=n; if(a*a*a+b*b*b+c*c*c==n)return 1; else return 0; } 6. 以下函数p的功能是用递归方法计算x的n阶勒让德多项式的值。已有调用语句p(n,x);请编写p函数。递归公式如下:(此题为选做) (n?0)?1?Pn(x)??x (n?1) ?((2n?1)*x*P(x)?(n?1)*P(x))/n(n?1)n?1n?2?float p(int n, int x){ } 解: #include printf(\请输入n,x=\do scanf(\while(n<0); y=p(n,x); printf(\} float p(int n,int x) {float y; if(n==0)return 1; if(n==1)return x; y=(float)((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n; return y; } 实验十四 1、编程实现:输入n(n<10)个整数,按从大到小的顺序对其排序。 #include