C语言程序设计第3次.docx

上传人:b****4 文档编号:2990160 上传时间:2022-11-16 格式:DOCX 页数:13 大小:18.86KB
下载 相关 举报
C语言程序设计第3次.docx_第1页
第1页 / 共13页
C语言程序设计第3次.docx_第2页
第2页 / 共13页
C语言程序设计第3次.docx_第3页
第3页 / 共13页
C语言程序设计第3次.docx_第4页
第4页 / 共13页
C语言程序设计第3次.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言程序设计第3次.docx

《C语言程序设计第3次.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第3次.docx(13页珍藏版)》请在冰豆网上搜索。

C语言程序设计第3次.docx

C语言程序设计第3次

第3次作业

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

1.

#include

#defineF(x)x*x

intmain()

{  

   doublen;

   n=F(3.5+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;

}

Astring.h

Bstdlib.h

Cmath.h

Dmathematics.h

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<=9

Dc>'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_CUR

C fpt,-1*strlen(str),SEEK_END

D 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=24.00

解题方案:

评分标准:

2.

参考答案:

5

解题方案:

评分标准:

3.

参考答案:

SWI*CH#*Wa

解题方案:

评分标准:

4.

参考答案:

aabb  cc     abc

AJ

解题方案:

评分标准:

5.

参考答案:

0,0,0,0

2,2,-3,3

1,1,-3,3

0,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

#defineMAX1000

enumdig{zero,one,two,three,four,five,six,seven,eight,nine};

intmain()

{  

   intgetline(char*s,intlim);

   charstr[MAX],*p;

   intcounter[10]={0},i;

   enumdignu=zero

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1