二级C上机题库100题

发布 2023-12-29 16:40:08 阅读 2056

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+=1.0/(i*(n+1));

return s;

main()

printf("%f",fun(10));

2.在[10000, 20000]范围内考察个位数字是7的素数, 问:

(1) 这样的素数有多少个?

(2) 其中最大的一个等于几?

#include<>

int main(void)

int max,num=0;

int i,j;

for(i=10000;i<20001;i++)

printf("num=%d,max=%d",num,max);

return 0;

3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。

#include<>

int main(void)

int year;

printf("please input the year:");

scanf("%d",&year);

if((year%400==0)||year%4==0&&year%100!=0))

printf("%d is a leap year!",year);

elseprintf("%d is not a leap year!",year);

return 0;

第二套1.编写函数fun,它的功能是:计算并输出下列级数和:

例如,当n = 10时,函数值为:0.909091

#include<>

#include<>

double fun(int n)

double s=0;

int i;

for (i=1;i s+=1.0/(i*(n+1));

return s;

main()

printf("%f",fun(10));

2.回文数是指正读和反读都一样的自然数。例如,8, 121, 5445这三个数都是回文数。求:

(1) [1,1000]之内既是回文数,又是素数的最大整数。

2) [1,1000]以内既是回文数,又是素数的整数有多少个。

#include<>

int huiwen(int n)

int p,m,flag=0;

int s=0;

m=n;do

while(m);

if(s==n)

flag=1;

return flag;

int sushu(int n)

int i,flag=0;

for(i=2;i if(n%i==0)

break;

if(i==n)

flag=1;

return flag;

int main(void)

int i,max,num=0;

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

printf("num=%d,max=%d",num,max);

return 0;

3. 编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。比如输入:”how are you”,有3个单词和2个空格。

#include<>

int main(void)

char line[81];

int word=0,blank=0,flag=0;

int i=0;

gets(line);

while(line[i]!=0')

elseif(!flag)

word++;

flag=1;i++;

printf("word=%d,blank=%d",word,blank);

return 0;

第三套 1.编写函数fun,它的功能是:求fibonacci数列中大于t的最小的一个数,结果由函数返回。其中fibonacci数列f(n)的定义为:

f(0)=0,f(1)=1 f(n)=f(n-1)+f(n-2)例如:当t =1000时,函数值为:1597。

#include<>

#include<>

#include<>

int fun(int t)

int f1=0,f2=1,temp;

while(f2

return f2;

main()

int n;

n=100;

printf("n=%d,f=%d",n,fun(n));

2.先从键盘上输入一个3行3列矩阵元素的值,然后输出主对角线元素平方之和。

#include<>

int main(void)

int array[3][3];

int i,j,sum=0;

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

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

printf("sum=%d",sum);

return 0;

3. 编程:删除字符串中的数字字符。

#include<>

int main(void)

char string[81];

int i=0,j;

gets(string);

while(string[i]!=0')

elsei++;

printf("%s",string);

return 0;

第四套 1.编写函数fun,它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。

例如若n为1000时,函数值应为:s = 153.909064。

#include<>

#include<>

#include<>

double fun (int n)

int i;

double s,sum=0;

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

s=sqrt(sum);

return s;

main()

printf("s=%f",fun(1000));

2.编程求出两个非零正整数的最大公约数。

#include<>

int main(void)

int m,n,t;

printf("please input two positive integer :");

scanf("%d%d",&m,&n);

if(m>0&&n>0)

dowhile(t);

printf("the max common divisor is %d",m);

elseprintf("error!");

return 0;

3.请编写程序:根据以下公式求π(要求满足精度0.

0005)的近似值:π/2=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+…1*2*3*4*……n)/(3*5*7*……2n+1))

#include<>

int main(void)

double sum=1;

double p=1,q=1;

int n=1;

while(p/q>5e-4)

printf("pi=%f",2*sum);

return 0;

第五套 1.现矩阵(3行3列)的转置(即行列互换)。

例如,输入下面的矩阵:

程序输出:

#include<>

#include<>

int fun(int array[3][3])

int temp,i,j;

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

return 0;

main()

int i,j;

int array[3][3]=,

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

fun(array);

printf("converted array:");

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

return 0;

2. 编写程序,计算s=s=1- 1/2+ 1/3-1/4 +…1/99- 1/100

#include<>

int main(void)

double s=0;

int i,flag=1;

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

s+=1.0/i*flag;

flag=-flag;

2019二级C语言上机新题库

一 数字题 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 dou...

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

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

2019二级上机题答案版

第1套。1填空 程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是输出这位学生的信息。1 tt 2 3 std 2改错 给定程序中函数fun的功能是 求出数组中最大数和次最大数,并把最大数和a 0 中的数对调 次最大数和a 1 中的数对调。1 m 0 改为m i 2 ...