全国计算机等级考试二级教程——C语言程序设计(版)
编程题答案(第7章):
[7.14]
下面的fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正。
int fun (int n){ int k,yes;for(k=2;k<=n/2;k++)if(n%k==0) yes=0;else yes=1;return yes;}
答:
#include<stdio.h>int fun(int n){int k,yes=1;for(k=2;k<=n/2;k++){if(n%k==0) yes=0;else yes=1;}return yes;} main(){int n;scanf("%d",&n);if(fun(n)) printf("是素数"); else printf("不是素数");}/*没有考虑n<=1的情况*/
[7.15]
编写函数int mymod(int a,int b)用以求a被b除之后的余数。
答:
#include<stdio.h>int mymod(int a,int b){int c,d;c=a/b;d=a-b*c;return d;} main(){int a,b,c;scanf("%d%d",&a,&b);c=mymod(a,b);printf("%d",c);}
[7.16]
编写函数,根据整型形参n的值,计算如下公式的值:
答:
#include<stdio.h>double sum(int n){double x,y,s;for(x=-1.0,y=1.0,s=0.0;y<=n;y++){x*=(-1);s+=(x/y);}return s;}main(){int n;double x;scanf("%d",&n);x=sum(n);printf("%f",x);}
[7.17]
编写函数,根据整型形参m的值,计算如下公式的值:
例如,若m=5,则应输出0.536389
答:
#include<stdio.h>double sum(int m){double x,y,s=1.0;if(m==1) return s;for(x=-1.0,y=2.0;y<=m;y++)s+=(x/(y*y));return s; }main(){int m;double x;scanf("%d",&m);x=sum(m);printf("%f",x);}
[7.18]
编写函数用以求表达式
的值,x作为参数传送给函数。调用此函数求:
y1值为-2.0;x为0.5时,y2的值为166.75,y3的值为1.832721。
答:
#include<stdio.h>#include<math.h>double F(double x){double y;y=x*x-5*x+4;return y;}main(){double y1,y2,y3,x=0.5; y1=F(2);y2=F(x+15);y3=F(sin(x));printf("y1=%.1f\ny2=%.2f\ny3=%f",y1,y2,y3);}
如果觉得《【全国计算机等级考试二级教程——C语言程序设计(版)编程题答案-第7章】》对你有帮助,请点赞、收藏,并留下你的观点哦!