2019二级C语言上机新题库

发布 2024-01-02 09:05:16 阅读 8844

一、数字题:

1用函数指针指向要调用的函数,规定在_2_处使f指向函数f1,在_3_处使f指向函数f2。当调用正确时,程序输出:x1=5.

000000,x2=3.000000,x1*x1+x1*x2=40.000000

double fun(double a, double b)

double (*f)()double r1,r2;

f=f1;r1=f(a);f=f2;r2 = f)(a,b);

return r1+r2;}

2用函数指针指向要调用的函数,规定在_2_处使f指向函数f1,在_3_处使f指向函数f2。当调用正确时,程序输出:x1=5.

000000,x2=3.000000,x1*x1+x1*x2=40.000000

double fun(double x, double y)

if(i==1)return f1(x);

else return f2(x,y);

3将形参n所指变量中各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。例如,输入一个数:27638496,新的数:为739。

void fun(unsigned long *n)

unsigned long x=0,i;int t;i=1;

while(*n)

n=*n/10;}*n=x;}

4将形参n所指变量中各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。例如,输入一个数:27638496,新的数为64862。

unsigned long fun(unsigned long n)

unsigned long x=0;int t;

while(n)

t=t%10;

if(i%2==0)x=10*x+t;

n=n/10;}return x;}

5将形参n所指变量中各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。例如,输入一个数:27638496,新的数为26846。

unsigned long fun(unsigned long n)

unsigned long x=0,s,i;int t;

s=n;i=1;

while(s)

t=s%10;

if(i%2==0)x=x+t*i;i=i*10;}

s=s/10;}return x;}

6求方程ax2+bx+c=0的根。例如,当a=1,b=2,c=1时,方程的两个根分别是:x1=-1.00,x2=-1.00。

main()

float a,b,c,disc,x1,x2,p,q;

scanf("%f,%f,%f",&a,&b,&c);

disc=b*b-4*a*c;clrscr();

printf("*the result **n");

if(disc>=0)

x1=(-b+sqrt(disc))/2*a);

x2=(-b-sqrt(disc))/2*a);

printf("x1=%6.2f,x2=%6.2f",x1,x2);}

else}7输出方程组a+b=56,a+2b=72的一组正整数解。结果是:a=40,b=16。

main()

int i,j;clrscr();

for(i=0;i<100; i++)

for(j=0;j<100; j++)

if(i+j==56&&i+2*j==72)

printf("a=%2d,b=%2d",i,j);}

8求方程ax2+bx+c=0的两个实数根。例如,当a=1,b=2,c=1时,方程的两个根分别是x1=-1.00, x2=-1.00。

main()

float a,b,c,disc,x1,x2;clrscr();

do9判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回“yes!”,否则返回“no!”。

char *fun(int n)

int g,s,b;g=n%10;s=n/10%10;

b=n/100%10;

if((g+b)==s)return″yes!″;

else return″no!″;

10输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。例如,输入:-3847652,结果为:3847652。

main()

long int n;clrscr();

printf("enter the data;");

scanf(″%ld″,&n);

printf("*the absolute value **n");

if(n<0)n=-n;printf("");

printf(″%ld″, n);}

11计算如下公式的值。a1=1,a2=

1/(1+a1),a3=1/(1+a2),…an=1/(1+an+1)若n=10,则应输出:0.618056。

float fun(int n)

float a=1;int i;

for(i=1;i<=n;i++)a=1.0/(1+a);

return a;}

12计算并输出下列级数的前n项之和sn,直到sn+1大于q为止。sn=2/1+3/2+4/3

…n+1/n例如,若q的值为50.0,则函数值为50.416687。

double fun(double q)

int n;double s;n=2;s = 2.0;

while(s<=q)printf("n=%d",n);

return s;}

13计算s=f(-n)+f(-n+1)+…f(0)+f(1)+f(2)+…f(n)的值。当n为5时,s的值为:10.407143。

┌(x+1)/(x-2) x>0

f(x) =0x=0 或 x=2

└(x-1)/(x-2) x<0

float f(double x)

if(x==0.0||x==2.0)return 0.0;

else if(x<0.0)return(x -1)/(x-2);

else return (x +1)/(x-2);}

double fun(int n)

int i;double s=0.0,y;

for(i=-n;i<=n;i++)

y=f(1.0*i);s+=y;}return s;}

14求1+2!+3!+.n!的和。若n=6则和为873。

main()

int i,n;long s=0,t=1;

clrscr();printf("input n:");

scanf("%d",&n);

for(i=1;i<=n;i++)

printf("1!+2!+3!..d!=%ld",n,s);}

15计算sn=1/1-1/3+1/5-1/7+…1/(2n+1)的值。若n的值为15时,输出的结果是:s=0.769788,n=15。

void fun(float *sn,int n)

int i,j=1;float s=0.0;

for(i=0;i<=n;i++)

s=s+j*1.0/(2*i+1);j*=-1;}*sn=s;}

main()

int n=15;float s;fun(&s,n);

printf("s=%f n=%d",s,n);}

16计算sn的值:sn=1/1+3/1+5/4+…+2n-1)/(sn-1)当n=50时,sn=71.433699。

double fun(int n)

double s=1.0,s1=0.0;int k;

for(k=2;k<=n;k++)

s1=s;s+=(2*k-1)/s1;}return s;}

17计算s的值:s=13/31*35/53*57/75*…*2k-1)2k+1/(2k+1)2k-1

当k=5时,s=338.215158。

double fun(int n)

double s=1;double f=0.0;

double p=0.0;int i=0;int k;

for(k=1; k<=n;k++)

f=2*k-1;p=2*k+1;

for(i=1;i<2*k+1;i++)f*=2*k-1;

for(i=1;i<2*k-1;i++)p*=2*k+1;

s*=f/p;}return s;}

18计算下式:s=3/22-5/42+7/62-…+1)n-1*(2n+1)/(2n)2,直到(2n+1)/2n2的绝对值小于等于10-3,并把计算结果作为函数值返回。例如,若e的值为1e-3,函数值为0.

551690。

double fun(double e)

int i,k;double s,t,x;

s=0;k=1;i=2;x=3/4;

while(x>e)

s=s+k*x;k=k*(-1);t=2*i;

x=(2*i+1)/(t*t);i++;return s;}

19求p的值p=m!/(n!*(m-n)!)例如:m=11,n=4时,运行结果为330.000000。

long jc(int m)

long s=1;int i;

for(i=1;i<=m;i++)s=s*i;return s;}

float fun(int m,int n)

二级C上机题库100题

c语言机试答案。第一套 1.编写函数fun,它的功能是 计算并输出下列级数和 s 1 2 1 2 3 1 3 4 1 n n 1 例如,当n 10时,函数值为 0.909091 include include double fun int n double s 0 int i for i 1 i s...

份二级c语言上机50套编程题

1 请编写函数fun,其功能是 统计s所指字符串中的数字字符个数,并作为函数值返回。例如,s所指字符串中的内容是 2def35adh25 3kjsdf 7 kj8655x,函数fun返回值为 11 注意 部分源程序在文件文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填...

2019秋C语言上机试卷C

江苏省高等学校非计算机专业学生。计算机基础知识和应用能力等级考试上机试卷 2009年秋 二级c语言 试卷代号c04 本试卷完成时间70分钟 一 改错题 16分 程序功能 将一个实数转换为二进制科学计数法表示并输出。二进制科学记数法是指将一个绝对值大于2或小于1的实数记为a 2n形式,其中尾数a是用二...