高级语言程序设计第5章的参考答案

2026/4/26 8:19:09

#include \

f(int x)/*判断x是否素数*/ {

int i,sign=0;;

for(i=2;i<=(int)sqrt(x);i++) {

if(x%i==0) { ++sign; break; } } if(sign!=0)

printf(\该数不是素数\\n\else

printf(\该数是素数\\n\}

void main() { int a;

printf(\请输入一个整数:\\n\scanf(\

5

f(a); }

运行结果:

请输入一个整数: 7

该数是素数

4. C语言中在函数之间进行数据传递的方法除了通过返回值和全局变量外,还可以采用哪种方式?请以求两个数中的较大者为例,分别编程实现。

分析:

函数之间传递数据的方法一般有三种方式: a) 通过返回值 b) 通过全局变量 c) 通过函数调用的实参 代码请自行实现。

5.用递归算法求下列函数的值。

1

p(n,x)=

x

( ( 2x-1 )*p( n-1,x )*x-( n-1 )*p( n-2,x ) )/n

(n=0) (n=1) (n>1)

注意选择好合适的参数类型和返回值类型。在main()函数中,输入下列三组数据:

(a)n=0,x=7; (b)n=1,x=2; (c)n=3,x=4求出相应的函数值。

6

分析:

该函数为分段函数,当n>1时为勒让德多项式,可以利用函数的递归调用求其值。

参考程序代码: #include \double pn(double x, int n) {

if(n==0) return 1; if(n==1) return x;

return 1.0*((2*n-1)*x-pn(x,n-1)-(n-1)*pn(x,n-2))/n; } main() {

double pn(double x,int n); double x; int n;

printf(\请输入参数x与n\\n\printf(\printf(\printf(\函数值为: %lf\\n\}

运行结果:

7

请输入参数x与n: x=7 n=0

函数值为:1.000000 请输入参数x与n: x=2 n=1

函数值为:2.000000 请输入参数x与n: x=4 n=3

函数值为:2.833333

6.写一个函数,输入一个十六进制数,输出相应的十进制数。 参考程序代码: #include \ #include \ int translat(char c) {

if(c<='9'&&c>='0') return c-'0'; if(c>='a' && c<='f') return c-87; if(c>='A' && c<='F') return c-55; return -1;//其他字符返回-1 }

int Htoi(char *str) {

int i,stat,n=0; int length=strlen(str); if(length==0) return 0; for(i=0;i

8


高级语言程序设计第5章的参考答案.doc 将本文的Word文档下载到电脑
搜索更多关于: 高级语言程序设计第5章的参考答案 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219