第一范文网 - 专业文章范例文档资料分享平台

C语言机试题(整理版)

来源:用户分享 时间:2025/7/23 18:58:12 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

度:中

━━━━━━━━━━━━━━━━ 功能:根据整型形参 m,计算某一数据项的值。

y=1/(100*100)+1/(200*200)+1/(300*300)+ …… +1/(m*m)

例如:若m = 2000,则应输出: 0.000160。

并在主程序中输出排序结果。

------------------------------------------------*/ #include

int fun(int array[], int n) {

/**********Program**********/ ------------------------------------------------------ #include #include

/**********FOUND**********/ fun ( int m ) {

double y = 0, d ; int i ;

/**********FOUND**********/ for( i = 100, i <= m, i += 100 ) {

d = (double)i * (double)i ;

/**********FOUND**********/ y += 1.0 \\ d ; }

return( y ) ; }

main( ) {

int n = 2000 ;

printf( \result is %lf\\n\fun ( n ) ) ;

} =======(答案1)======= double fun ( int m )

=======(答案2)======= for( i = 100; i <= m; i += 100 ) =======(答案3)======= y += 1.0 / d ;

━━━━━━━━━━━━━━━━ 三、程序设计共1题(共计40分)难度:中

━━━━━━━━━━━━━━━━ 功能:编写函数fun对主程序中用户输入的具有10个数据的数组a按由大到小排序,

/********** End **********/ }

main() {

int a[10],i; printf(\请输入数组a中的十个数:\\n\

for (i=0;i<10;i++) scanf(\ fun(a,10);

printf(\由大到小的排序结果是:\\n\ for (i=0;i<10;i++) printf(\ printf(\ }

答案:---------------------- int k,j,t;

for (k=0;k

t=array[k];

array[k]=array[j]; array[j]=t; }

试卷编号:8609

━━━━━━━━━━━━━━━━ 一、程序填空共1题(共计30分)难度:中

━━━━━━━━━━━━━━━━ 功能:输出两个整数中大的那个数,两个整数由键盘输入。

------------------------------------------------------ #include

#include void main() {

int *p1,*p2;

/***********SPACE***********/ p1=【?】malloc(sizeof(int)); p2=(int*)malloc(sizeof(int));

/***********SPACE***********/ scanf(\【?】,p2); if(*p2>*p1) *p1=*p2; free(p2);

/***********SPACE***********/ printf(\【?】); }

=======(答案1)======= (int *)

=======(答案2)======= p1

=======(答案3)======= *p1

━━━━━━━━━━━━━━━━ 二、程序改错共1题(共计30分)难度:易

━━━━━━━━━━━━━━━━ 功能:编写函数fun计算下列分段函数的值:

x*x+x x<0且x≠-3

f(x)= x*x+5x 0≤x<10且x≠2及x≠3 x*x+x-1 其它

------------------------------------------------------

#include double fun(float x) {

/**********FOUND**********/ double y

/**********FOUND**********/ if (x<0 ||x!=-3.0) y=x*x+x;

else if(x>=0 && x<10.0 && x!=2.0 && x!=3.0)

y=x*x+5*x; else

y=x*x+x-1;

/**********FOUND**********/

return x; }

main() {

double f; float x;

printf(\ scanf(\ f=fun(x);

printf(\ }

=======(答案1)======= float y;

=======(答案2)======= if (x<0 && x!=-3.0) =======(答案3)======= return y;

━━━━━━━━━━━━━━━━ 三、程序设计共1题(共计40分)难度:难

━━━━━━━━━━━━━━━━ 功能:编写函数fun求sum=d+dd+ddd+??+dd...d(n个d),其中d为1-9的数字。 例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函数中输入。

------------------------------------------------*/

#include long int fun(int d,int n) {

/**********Program**********/

/********** End **********/ }

main() {

int d,n;

long sum,fun(); printf(\

scanf(\ printf(\ scanf(\ sum=fun(d,n);

printf(\}

答案:---------------------- long int s=0,t=0; int i;

for(i=1;i<=n;i++) { t=t+d; s=s+t; d=d*10; }

return s;

试卷编号:8610

━━━━━━━━━━━━━━━━ 一、程序填空共1题(共计30分) 难度:中

━━━━━━━━━━━━━━━━

功能:计算并输出500以内最大的10个能被13或17整除的自然数之和。

-------------------------------------------------------

#include #include

/***********SPACE***********/

int fun(【?】 ) {

int m=0, mc=0;

/***********SPACE***********/ while (k >= 2 &&【?】) {

/***********SPACE***********/ if (k == 0 || 【?】) {

m=m+k; mc++; } k--; }

/***********SPACE***********/ 【?】; }

main ( ) {

printf(\}

=======(答案1)======= int k

=======(答案2)======= mc < 10

=========或========= 10 > mc

=========或========= mc <= 9

=========或========= 9 >= mc

=======(答案3)======= k == 0

=========或========= !(k)

=========或========= k/17*17 == k

=======(答案4)======= return m

=========或========= return (m)

━━━━━━━━━━━━━━━━ 二、程序改错共1题(共计30分) ━━━━━━━━━━━━━━━━ 难度:易

功能:编写一个程序模拟袖珍计算器的加、减、乘、除四则运算。例如:输入3+5=或5-2=或3*4=或4/2=,求表达式结果。

#include void main() {

float x,y;

char operate1;

printf(\ /**********FOUND**********/ scanf(\

/**********FOUND**********/ while((operate1==getchar())!='=') {

printf(\

scanf(\

/**********FOUND**********/ switch(y) {

case '+':

x+=y; break; case '-':

x-=y; break; case '*':

x*=y; break; case '/':

x/=y; break; } }

printf(\}

=======(答案1)======= scanf(\

=======(答案2)=======

while((operate1=getchar())!='=') =======(答案3)======= switch(operate1)

━━━━━━━━━━━━━━━━ 三、程序设计共1题(共计40分)难度:中

━━━━━━━━━━━━━━━━ 功能:求一个n位自然数的各位数字的积。(n 是小于10的自然数)

#include #include\long fun(long n) {

/**********Program**********/

/********** End **********/ }

main() {

long m;

printf(\ scanf(\

printf(\}

答案:----------------------

long d,s=1; while (n>0) {d=n; s*=d; n/=10; }

return s;

试卷编号:8611

━━━━━━━━━━━━━━━━ 一、程序填空共1题(共计30分)难度:中

━━━━━━━━━━━━━━━━ 题目:下列给定程序中,函数fun的功能是计算下式如\图片1\直到如\图片2\,并将计算结果作为函数值返回。

例如:若形参e的值为1e-3,函数的返回值为2.985678。

double fun(double e) {

int i; double s, x;

s=0;

/***********SPACE***********/ i=【?】; x=1.0; while(x>e) {

/***********SPACE***********/ 【?】;

/***********SPACE***********/ x=(2.0*i-1)/(【?】); s=s+x;

搜索更多关于: C语言机试题(整理版) 的文档
C语言机试题(整理版).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3mqsm1hi5p99g5m14bz8_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top