c语言一些机试题.docx

上传人:b****1 文档编号:2569994 上传时间:2023-05-04 格式:DOCX 页数:69 大小:29.92KB
下载 相关 举报
c语言一些机试题.docx_第1页
第1页 / 共69页
c语言一些机试题.docx_第2页
第2页 / 共69页
c语言一些机试题.docx_第3页
第3页 / 共69页
c语言一些机试题.docx_第4页
第4页 / 共69页
c语言一些机试题.docx_第5页
第5页 / 共69页
c语言一些机试题.docx_第6页
第6页 / 共69页
c语言一些机试题.docx_第7页
第7页 / 共69页
c语言一些机试题.docx_第8页
第8页 / 共69页
c语言一些机试题.docx_第9页
第9页 / 共69页
c语言一些机试题.docx_第10页
第10页 / 共69页
c语言一些机试题.docx_第11页
第11页 / 共69页
c语言一些机试题.docx_第12页
第12页 / 共69页
c语言一些机试题.docx_第13页
第13页 / 共69页
c语言一些机试题.docx_第14页
第14页 / 共69页
c语言一些机试题.docx_第15页
第15页 / 共69页
c语言一些机试题.docx_第16页
第16页 / 共69页
c语言一些机试题.docx_第17页
第17页 / 共69页
c语言一些机试题.docx_第18页
第18页 / 共69页
c语言一些机试题.docx_第19页
第19页 / 共69页
c语言一些机试题.docx_第20页
第20页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言一些机试题.docx

《c语言一些机试题.docx》由会员分享,可在线阅读,更多相关《c语言一些机试题.docx(69页珍藏版)》请在冰点文库上搜索。

c语言一些机试题.docx

c语言一些机试题

C语言上机考试题(第一套)

1.编写函数fun,它的功能是:

计算并输出下列级数和:

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

0.909091

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#include

doublefun(intn)

{

float

…………

}

main()/*主函数*/

{clrscr();

printf(″%f\n″,fun(10));

}

解答:

#include

#include

doublefun(intn)

{

doubles=0;

inti;

for(i=1;i

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

returns;

}

main()/*主函数*/

{

system("cls");

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

}

说明:

主函数中的clrscr()函数为TC下使用的清屏函数,在VC中不能使用,在本题中可以直接删除或改为

system("cls")

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

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

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

解答:

#include

intmain(void)

{

intmax,num=0;

inti,j;

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

{

for(j=2;j

if(i%j==0)

break;

if(j==i&&i%10==7)

{

num++;

max=i;

}

}

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

return0;

}

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

解答:

#include

intmain(void)

{

intyear;

printf("pleaseinputtheyear:

\n");

scanf("%d",&year);

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

=0))

printf("%disaleapyear!

",year);

else

printf("%disnotaleapyear!

",year);

return0;

}

C语言上机考试题(第二套)

1.编写函数fun,它的功能是:

计算并输出下列级数和:

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

0.909091

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#include

doublefun(intn)

{

…………

}

main()/*主函数*/

{clrscr();

printf(″%f\n″,fun(10));

}

解答:

略(见第一套试题1)

2.回文数是指正读和反读都一样的自然数。

例如,8,121,5445这三个数都是回文数。

求:

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

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

解答:

#include

inthuiwen(intn)

{

intp,m,flag=0;

ints=0;

m=n;

do

{

p=m%10;

s=s*10+p;

m=m/10;

}while(m);

if(s==n)

flag=1;

returnflag;

}

intsushu(intn)

{

inti,flag=0;

for(i=2;i

if(n%i==0)

break;

if(i==n)

flag=1;

returnflag;

}

intmain(void)

{

inti,max,num=0;

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

{

if(huiwen(i)&&sushu(i))

{

max=i;

num++;

}

}

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

return0;

}

3.编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。

比如输入:

”Howareyou”,有3

个单词和2个空格。

解答:

#include

intmain(void)

{

charline[81];

intword=0,blank=0,flag=0;

inti=0;

gets(line);

while(line[i]!

='\0')

{

if(line[i]=='')

{

blank++;

if(flag)

flag=0;

}

else

if(!

flag)

{

word++;

flag=1;

}

i++;

}

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

return0;

}

 

C语言上机考试题(第三套)

1.编写函数fun,它的功能是:

求Fibonacci数列中大于t的最小的一个数,结果由函数返回。

其中

Fibonacci数列F(n)的定义为:

F(0)=0,F

(1)=1

F(n)=F(n-1)+F(n-2)

例如:

当t=1000时,函数值为:

1597。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#include

#include

intfun(intt)

{

…………

}

main()/*主函数*/

{intn;

clrscr();

n=1000;

printf(″n=%d,f=%d\n″,n,fun(n));

}

解答:

#include

#include

#include

intfun(intt)

{

intf1=0,f2=1,temp;

while(f2

{

temp=f1;

f1=f2;

f2=temp+f1;

}

returnf2;

}

main()/*主函数*/

{

intn;

n=1000;

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

}

说明:

主函数中的clrscr()应删除,或者改为sys(“cls”)

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

解答:

#include

intmain(void)

{

intarray[3][3];

inti,j,sum=0;

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

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

{

scanf("%d",&array[i][j]);

if(i==j)

sum+=array[i][j]*array[i][j];

}

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

return0;

}

3.编程:

删除字符串中的数字字符。

解答:

#include

intmain(void)

{

charstring[81];

inti=0,j;

gets(string);

while(string[i]!

='\0')

{

if(string[i]>='0'&&string[i]<='9')

{

j=i;

do

{

string[j]=string[j+1];

j++;

}while(string[j]!

='\0');

}

else

i++;

}

printf("%s\n",string);

return0;

}

 

C语言上机考试题(第四套)

1.编写函数fun,它的功能是:

求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作

为函数值返回。

例如若n为1000时,函数值应为:

s=153.909064。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#include

#include

doublefun(intn)

{

}

main()/*主函数*/

{clrscr();

printf(″s=%f\n″,fun(1000));

}

解答:

#include

#include

#include

doublefun(intn)

{

inti;

doubles,sum=0;

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

{

if(i%3==0&&i%7==0)

sum+=i;

}

s=sqrt(sum);

returns;

}

main()/*主函数*/

{

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

}

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

解答:

#include

intmain(void)

{

intm,n,t;

printf("pleaseinputtwopositiveinteger:

\n");

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

if(m>0&&n>0)

{

if(m

{

t=m;m=n;n=t;

}

do{

t=m%n;

m=n;

n=t;

}while(t);

printf("themaxcommondivisoris%d\n",m);

}

else

printf("Error!

\n");

return0;

}

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

intmain(void)

{

doublesum=1;

doublep=1,q=1;

intn=1;

while(p/q>5e-4)

{

p*=n;

q*=(2*n+1);

sum+=p/q;

n++;

}

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

return0;

}

 

C语言上机考试题(第五套)

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

例如,输入下面的矩阵:

100200300

400500600

700800900

程序输出:

100400700

200500800

300600900

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include

#include

intfun(intarray[3][3])

{

…………

}

main()

{

inti,j;

intarray[3][3]={{100,200,300},{400,500,600},{700,800,900}};

clrscr();

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

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

printf(″%7d″,array[i][j]);

printf(″\n″);

}

fun(array);

printf(“convertedarray:

\n”);

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

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

printf(“%7d”,array[I][j]);

printf(“\n”);

}

}

解答:

#include

#include

intfun(intarray[3][3])

{

inttemp,i,j;

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

{

for(j=0;j

{

temp=array[i][j];

array[i][j]=array[j][i];

array[j][i]=temp;

}

}

}

main()

{

inti,j;

intarray[3][3]={{100,200,300},{400,500,600},{700,800,900}};

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

{

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

printf("%7d",array[i][j]);

printf("\n");

}

fun(array);

printf("convertedarray:

\n");

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

{

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

printf("%7d",array[i][j]);

printf("\n");

}

}

2.编写程序,计算s=1-+-+……+-

解答:

#include

intmain(void)

{

doubles=0;

inti,flag=1;

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

{

s+=1.0/i*flag;

flag=-flag;

}

printf("s=%f\n",s);

return0;

}

3.编写程序,求2~100中的所有的亲密素数对的个数。

亲密素数:

如果x是素数,则x+2也是素数。

解答:

#include

intsushu(intn)

{

inti,flag=0;

for(i=2;i

if(n%i==0)

break;

if(i==n)

flag=1;

returnflag;

}

intmain(void)

{

inti,num=0;

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

if(sushu(i)&&sushu(i+2))

{

printf("%d,%d\n",i,i+2);

num++;

}

printf("num=%d\n",num);

return0;

}

 

C语言上机考试题(第六套)

1.从键盘入一个整数k(2≦k≦10000),输出它的所有质因子(即所有为素数的因子)。

例如,若

输入整数:

2310,则应输出:

2、3、5、7、11。

解答:

#include

intsushu(intn)

{

inti,flag=0;

for(i=2;i

if(n%i==0)

break;

if(i==n)

flag=1;

returnflag;

}

intmain(void)

{

inti,k;

printf("pleaseinputainteger:

(2<=k<=10000)\n");

scanf("%d",&k);

for(i=2;i

{

if(k%i==0&&sushu(i))

printf("%d\t",i);

}

return0;

}

2.编写函数fun,它的功能是:

计算正整数n所有因子(1和n除外)之和作为函数值返回。

例如:

n=120时,函数值为239

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#include

intfun(intn)

{

……………

}

main()/*主函数*/

{clrscr();

printf(″%d\n″,fun(120));

}

解答:

#include

#include

intfun(intn)

{

inti,sum=0;

for(i=2;i

if(n%i==0)

sum+=i;

returnsum;

}

main()/*主函数*/

{

printf("%d\n",fun(120));

}

3.编写程序,求s=1/(1*2)+1/(2*3)+……+1/(n*(n+1)

解答:

#include

intmain(void)

{

intn,i;

doubles=0;

printf("pleaseinputainteger:

\n");

scanf("%d",&n);

for(i=1;i

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

printf("s=%f\n",s);

return0;

}

 

C语言上机考试题(第七套)

1.编写函数fun,它的功能是计算下列级数和,和值由函数值返回。

例如,当n=10,x=0.3时,函数值为1.349859

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#include

#include

doublefun(doublex,intn)

{

……………

}

main()

{clrscr();

printf(″%f\n″,fun(0.3,10));

}

解答:

#include

#include

#include

doublefun(doublex,intn)

{

doubles=1,p=1;

inti;

for(i=1;i

{

p*=x/i;

s+=p;

}

returns;

}

main()

{

printf("%f\n",fun(0.3,10));

}

2.编写程序,求出并输出所有的“水仙花数”。

所谓水仙花数,是指一个三位数,其各位数字的立方之

和等于该数。

解答:

#include

intmain(void)

{

inta,b,c,i;

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

{

a=i/100;

b=i/10%10;

c=i%10;

if(a*a*a+b*b*b+c*c*c==i)

printf("%d\t",i);

}

return0;

}

3.给出三角形的三边a,b,c,求三角形的面积。

解答:

#include

#include

intmain(void)

{

doublea,b,c,p,s;

printf("pleaseinputthreenumbers:

(a,b,c)\n");

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

if(a+b>c&&b+c>a&&c+a>b)

{

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("a=%.2f,b=%.2f,c=%.2fs=%.2f\n",a,b,c,s);

}

else

printf("Error!

\n");

return0;

}

 

C语言上机考试题(第八套)

1.编写函数fun,函数的功能是:

根据以下公式计算s,计算结果作为函数值返回:

n通过形参传入。

S=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+…+N)

例如:

若n的值为11时,则函数的值为:

1.833333

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#include

#include

floatfun(intn)

{

…………

}

main()

{intn;

floats;

clrscr()

printf(″\nPleaseenterN:

″);

scanf(″%d″,&n);

s=fun(n);

printf(″theresultis:

%f\n″,s);

}

解答:

#include

#include

#include

floatfun(intn)

{

inti;

floats=0,p=0;

for(i=1;i

{

p+=i;

s+=1.0/p;

}

returns;

}

main()

{

intn;

floats;

printf("\nPleaseenterN:

");

scanf("%d",&n);

s=fun(n);

printf("theresultis:

%f\n",s);

}

2.编程求:

一球从100米高

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2