C语言程序设计 ( 第3次 )_第1页
C语言程序设计 ( 第3次 )_第2页
C语言程序设计 ( 第3次 )_第3页
C语言程序设计 ( 第3次 )_第4页
C语言程序设计 ( 第3次 )_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计(第3次)C语言程序设计(第3次)C语言程序设计(第3次)C语言程序设计(第3次)编制仅供参考审核批准生效日期地址:电话:传真:邮编:第3次作业

一、程序阅读题(本大题共50分,共5小题,每小题10分)

1.#include<>#defineF(x)x*xintmain(){

doublen;

n=F+5)/F(3);

printf("n=%.2lf\n",n);

return0;}

2.(写出下面程序执行的结果)

#include<>

intmain()

{

intx,b1,b2,b3;

x=300;

b3=x/100;

b2=(x-b3)/100;

b1=x%10;

x=b1+b2+b3;

printf("%d\n",x);

return0;

}

3.写出下面程序执行的结果)#include<>intmain(){

charc,str[]="SSSWILTCH2\2\223WALL";

intk;

for(k=2;(c=str[k])!='\0';k++)

{

switch(c)

{

case'A':

putchar('a');

continue;

case'2':

break;

case2:

while((c=str[k++])!='\2'&&c!='\0')

;

case'T':

putchar('*');

case'L':

continue;

default:

putchar(c);

continue;

}

putchar('#');

}

printf("\n");

return0;}

4.(写出下面程序执行的结果)

#include<>

intmain()

{

charc1='a',c2='b',c3='c',c4='\101',c5='\x4a';

printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);

printf("\t\b%c%c\n",c4,c5);

return0;

}

5.(写出下面程序执行的结果)#include<>inta,b,c,d;intmain(){

voidp(inta,intb);

printf("%d,%d,%d,%d\n",a,b,c,d);

p(a,b);

printf("%d,%d,%d,%d\n",a,b,c,d);

return0;}voidp(inta,intb){

staticintc;

a++,b++;

c-=1,d+=1;

if(a<3)

{

p(a,b);

printf("%d,%d,%d,%d\n",a,b,c,d);

}}

二、程序设计题(本大题共40分,共5小题,每小题8分)

1.编程序实现功能:将一个10行5列数组a每一行中最大值取出存放到一个一维数组b中,输出数组a和数组b的值,要求所有数组操作通过两种以上的指针方式表示。

2.编写程序实现功能:分别统计键盘输入流上接收字符串中每种数字字符的个数,要求使用数组表示所有计数器集合,并且在数组的下标表达式中使用枚举型数据。

3.编程序实现功能:求出在1~1000之间的整数中能同时被3、5、7整除的数,输出满足条件的数以及它们的和。

4.编程序实现华氏温度到摄氏温度的转换,其转换公式是:,式中f表示华氏温度,c表示摄氏温度。

5.编写一个递归函数计算Hermite多项式,Hn(x)定义为:

三、填空题(本大题共10分,共5小题,每小题2分)

1.下面程序的功能是:求两个实数之和的平方根,请选择合适选项填空完成程序。#include<>#include<

>intmain(){

doublea,b;

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

printf("%lf\n",sqrt(a+b));

return0;}ABCD

2.下面程序的功能是:挑选输入流中的数字字符按序组成整数(例如输入流为ab3c5g8,获取的整数为358),请选择合适选项填空完成程序。#include<>intmain(){

charc;

intn=0;

while((c=getchar())!='\n')

if(

)

n=n*10+c-'0';

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

return0;}Ac>='0'&&c<='9'Bc>'0'&&c<'9'Cc>=0&&c<=9Dc>'0'||c<'9'

3.下面程序的功能是:求从键盘输入的3个整数之和。请选择合适选项填空完成程序。

#include<>

intadd(

);

intmain()

{

inta,b,c,sum;

printf("a,b,c:");

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

sum=add(

);

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

return0;

}

intadd(inta,intb)

{

returna+b;

}

Aadd(a,b),c

Ba,b,c

Cinta;intb

Dint,int

4.下面程序的功能是:将从键盘上输入的一个字符串数据写入到指定的文件中,然后将其读出进行校验,正确输出OK,错误输出ERROR。请选择合适选项填空完成程序。#include<>#include<>intmain(){

FILE

*fpt;

charstr[100],str1[100]="",fn[20];

printf("Inputthefilename:");

gets(fn);

if((fpt=

)==NULL)

{

printf("Can'topenfile%s\n",fn);

return-1;

}

gets(str);

fwrite(str,sizeof(char),strlen(str),fpt);

fseek(

);

fread(str1,sizeof(char),strlen(str),fpt);

if(strcmp(str,str1)==0)

printf("OK\n");

else

printf("ERROR\n");

puts(str1);

fclose(fpt);

return0;}A

fopen(fn,"w+")B

fpt,-1*strlen(str),SEEK_CURC

fpt,-1*strlen(str),SEEK_ENDD

fopen(fn,"r+"))

5.下面程序的功能是:取出变量a从右端开始的4~7位,存放到变量d中并输出。请选择合适选项填空完成程序。#include<>intmain(){

unsignedshorta,b,c,d;

a=0x29;

b=a>>4;

c=

;

d=b&c;

printf("%x\n%x\n",a,d);

return0;}A

(~0<<4)B

~(0<<4)C

~(~0>>4)D

~(~0<<4)

答案:

一、程序阅读题(50分,共5题,每小题10分)

1.

参考答案:n=

解题方案:

评分标准:

2.

参考答案:

5

解题方案:

评分标准:

3.

参考答案:SWI*CH#*Wa

解题方案:

评分标准:

4.

参考答案:

aabb

cc

abc

AJ

解题方案:

评分标准:

5.

参考答案:0,0,0,02,2,-3,31,1,-3,30,0,0,3

解题方案:

评分标准:

二、程序设计题(40分,共5题,每小题8分)

1.

参考答案:#include<>#include<>#include<>intmain(){

inta[10][5],b[10],i,j;

srand(time(NULL));

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

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

*(a[i]+j)=rand()%100;

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

{

*(b+i)=a[i][0];

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

if(*(b+i)<*(*(a+i)+j))

*(b+i)=*(*(a+i)+j);

}

printf("\tarrayA:\tarrayB:\n");

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

{

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

printf("%4d",a[i][j]);

printf("\t%4d\n",b[i]);

}

return0;}

解题方案:

评分标准:

2.

参考答案:#include<>#include<>#defineMAX1000enumdig{zero,one,two,three,four,five,six,seven,eight,nine};intmain(){

intgetline(char*s,intlim);

charstr[MAX],*p;

intcounter[10]={0},i;

enumdignu=zero;

gets(str);

p=str;

while(*p)

{

if(*p>='0'&&*p<='9')

counter[nu+*p-'0']++;

p++;

}

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

printf("%4d",counter[i]);

printf("\n");

return0;}

解题方案:

评分标准:

3.

参考答案:#include<>intmain(){

intn,sum=0;

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

if(n%3==0&&n%5==0&&n%7==0)

{

printf("%5d",n);

sum+=n;

}

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

return0;}

解题方案:

评分标准:

4.

参考答案:

#include<>

intmain()

{

doublec,f;

printf("请输入华氏温度数:");

scanf("%lf",&f);

c=9*(f-32);

printf("摄氏温度是:%lf\n",c);

return0;

}

解题方案:

评分标准:

5.

参考答案:#include<>intmain(){

doubleH(intn,doublex);

intn;

doublex;

printf("Inputxandn:");

scanf("%lf,%d",&x,&n);

printf("H(%d,%lf)=%lf\n",n,x,H(n,x));

return0;}doubleH(intn,doublex){

if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论