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 ...