大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、 函数调用:strcat(strcpy(str1,str2),str3)的功能是________。
专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!创新互联公司为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,网站建设、成都网站建设负责任的成都网站制作公司!
C) 将串str2复制到串str1中后再将串str3连接到串str1之后
2、 若有以下调用语句,则正确的fun函数首部是
main()
{ ∶
∶
int a;float x;
∶
∶
fun(x,a);
∶
∶
}
B) void fun(float a,int x)
3、 有如下程序
int func(int a,int b)
{ return(a+b); }
main()
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r); }
该程序的输出结果是__________。
D) 15
4、 函数pi的功能是根据以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+……+1/(n*n)
请你在下面程序中的划线部分填入________,完成求π的功能。
#include "math.h"
double pi(long n)
{ double s=0.0; long i;
for(i=1;i=n;i++) s=s+________;
return (sqrt(6*s)); }
A) 1.0/i/i
5、 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递
方式是________。
B) 单向值传递
6、 对于C语言的函数,下列叙述中正确的是________。
A) 函数的定义不能嵌套,但函数调用可以嵌套 (这答案有待斟酌)
7、 函数f的功能是:测定字符串的长度,空白处应填入________。
int f(char s[ ])
{ int i=0;
while(s[i]!='\0') i++;
return (________); }
main( )
{ printf("%d\n",f("goodbye!")); }
B) i
8、 若主调用函数类型为double,被调用函数定义中没有进行函数类型
说明,而return语句中的表达式类型为float型,则被调函数返回
值的类型是________。
C) double 型
9、 以下叙述中,错误的是________。
D) 形参可以是常量、变量或表达式
10、 以下叙述中,不正确的是________。
B) 在main函数体内定义的变量是全局变量
void hypotenuse(float a,float b)
{
float c;
c=sqrt(a*a+b*b);
printf("%f",c);
}
第一题:求类似斐波那契数列中的第n个数
先来看下什么是斐波那契数列:
指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n=3,n∈N*)
数列中的每个数,都等于前两个数字之和。第一数和第二数规定为1.
回到图中的程序,n=2时,返回2,那么就是将第一个和第二个数规定为2。
即:
fib(1)=2, fib(2)=2
根据公式:
fib(3) = fib(1)+fib(2)=2+2=4
代码的用递归实现,若不懂递归,可google之或百度之。
第二题:
main函数里的变量a,b,c都没有用上,迷惑你用的。回到d
d=f(f(3,4), f(3,5))
再看f这个函数
f(3,4) = f(x,y)=(y-x)*x=(4-3)*3=3
f(3,5) = (5-3)*3=6
因此,d=f(f(3,4), f(3,5))=f(3,6)=(6-3)*3=9
第三题 这个函数里面的赋值写法我还没见过,容我再想想。
#includestdio.h
#includemath.h
void f(int x)
{
int j=0,i;
double k;
k=sqrt(x);
for(i=2;ik;i++)
{
if(x%i==0)
j++;
}
if(j==0)
printf("%4d",x);
}
int g(int x)
{
int a,b,c;
a=x/100;
b=x%100/10;
c=x%10;
if(a*a*a+b*b*b+c*c*c==x)
return 1;
else
return 0;
}
void main()
{
int array[100],i,n=300;
for(i=0;i99;i++,n++)
array[i]=n;
for(i=0;i99;i++,n++)
printf("%4d,",array[i]);
printf("素数为:");
for(i=0;i99;i++,n++)
f(array[i]);
printf("水仙花数为:");
for(i=0;i99;i++,n++)
if(g(array[i])==1)
printf("%4d,",array[i]);
}
A是先取函数f返回的内存单元(参数是i即i的地址)中存储的值,并作更改(改为6)
B项 i+6 是算术表达式,不能直接取地址,必须使用变量保存才能取地址
C项 是定义一个指向整型的指针p,并赋值为函数f的返回值(该函数返回一个指针,也就是内存地址)
D项 直接以i为参数执行函数f,返回值不起任何作用
#includestdio.h
double
val(double
a00,double
a11,double
a01,double
a10)
{
return
a00*a11-a01*a10;
}
void
main()
{
double
a1,b1,c1,a2,b2,c2;
double
m1,m2,m3;
printf("Please
input
a1,b1,c1\n");
scanf("%lf%lf%lf",a1,b1,c1);
printf("Please
input
a2,b2,c2\n");
scanf("%lf%lf%lf",a2,b2,c2);
m1
=
val(a1,b2,a2,b1);
m2
=
val(c1,b2,c2,b1);
m3
=
val(c1,a2,c2,a1);
if(m1==0){
if(m2==0
m3==0)
printf("无数解\n");
else
printf("无解\n");
}else
printf("x=%lf,y=%lf\n",m2/m1,-m3/m1);
}
这个是先求行列式的值,然后判断其是否为0,讨论解的情况,当有唯一解的时候,输出x和y的值。
val()函数用于计算2x2行列式的值。
有不明白的地方可以追问,望采纳:)