C语言程序设计第3次文档格式.docx
《C语言程序设计第3次文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第3次文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
3.
写出下面程序执行的结果)
{
charc,str[]="
SSSWILTCH2\2\223WALL"
;
intk;
for(k=2;
(c=str[k])!
='
\0'
k++)
{
switch(c)
case'
A'
:
putchar('
a'
);
continue;
2'
break;
case2:
while((c=str[k++])!
\2'
&
c!
)
;
T'
*'
L'
default:
putchar(c);
}
#'
\n"
4.(写出下面程序执行的结果)
charc1='
c2='
b'
c3='
c'
c4='
\101'
c5='
\x4a'
printf("
a%cb%c\tc%c\tabc\n"
c1,c2,c3);
\t\b%c%c\n"
c4,c5);
5.
(写出下面程序执行的结果)
inta,b,c,d;
intmain()
voidp(inta,intb);
%d,%d,%d,%d\n"
a,b,c,d);
p(a,b);
voidp(inta,intb)
staticintc;
a++,b++;
c-=1,d+=1;
if(a<
3)
{
二、程序设计题(本大题共40分,共5小题,每小题8分)
1.编程序实现功能:
将一个10行5列数组a每一行中最大值取出存放到一个一维数组b中,输出数组a和数组b的值,要求所有数组操作通过两种以上的指针方式表示。
2.编写程序实现功能:
分别统计键盘输入流上接收字符串中每种数字字符的个数,要求使用数组表示所有计数器集合,并且在数组的下标表达式中使用枚举型数据。
3.编程序实现功能:
求出在1~1000之间的整数中能同时被3、5、7整除的数,输出满足条件的数以及它们的和。
4.编程序实现华氏温度到摄氏温度的转换,其转换公式是:
,式中f表示华氏温度,c表示摄氏温度。
编写一个递归函数计算Hermite多项式,Hn(x)定义为:
三、填空题(本大题共10分,共5小题,每小题2分)
下面程序的功能是:
求两个实数之和的平方根,请选择合适选项填空完成程序。
>
doublea,b;
scanf("
%lf,%lf"
&
a,&
b);
%lf\n"
sqrt(a+b));
Astring.h
Bstdlib.h
Cmath.h
Dmathematics.h
2.
挑选输入流中的数字字符按序组成整数(例如输入流为ab3c5g8,获取的整数为358),请选择合适选项填空完成程序。
charc;
intn=0;
while((c=getchar())!
\n'
if(
)
n=n*10+c-'
0'
n=%d\n"
Ac>
c<
9'
Bc>
'
Cc>
=0&
=9
Dc>
||c<
3.下面程序的功能是:
求从键盘输入的3个整数之和。
请选择合适选项填空完成程序。
intadd(
①
inta,b,c,sum;
?
a,b,c:
"
scanf("
%d,%d,%d"
b,&
c);
sum=add(
②
);
sum=%d\n"
sum);
intadd(inta,intb)
returna+b;
Aadd(a,b),c
Ba,b,c
Cinta;
intb
Dint,int
4.
将从键盘上输入的一个字符串数据写入到指定的文件中,然后将其读出进行校验,正确输出OK,错误输出ERROR。
string.h>
FILE
*fpt;
charstr[100],str1[100]="
"
fn[20];
Inputthefilename:
gets(fn);
if((fpt=
)==NULL)
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)
OK\n"
else
ERROR\n"
puts(str1);
fclose(fpt);
A
fopen(fn,"
w+"
B
fpt,-1*strlen(str),SEEK_CUR
C
fpt,-1*strlen(str),SEEK_END
D
r+"
))
取出变量a从右端开始的4~7位,存放到变量d中并输出。
unsignedshorta,b,c,d;
a=0x29;
b=a>
4;
c=
d=b&
c;
%x\n%x\n"
a,d);
(~0<
<
4)
~(0<
~(~0>
~(~0<
答案:
一、程序阅读题(50分,共5题,每小题10分)
参考答案:
n=24.00
解题方案:
评分标准:
5
SWI*CH#*Wa
aabb
cc
abc
AJ
0,0,0,0
2,2,-3,3
1,1,-3,3
0,0,0,3
二、程序设计题(40分,共5题,每小题8分)
stdlib.h>
time.h>
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;
*(b+i)=a[i][0];
if(*(b+i)<
*(*(a+i)+j))
*(b+i)=*(*(a+i)+j);
\tarrayA:
\tarrayB:
%4d"
a[i][j]);
\t%4d\n"
b[i]);
#defineMAX1000
enumdig{zero,one,two,three,four,five,six,seven,eight,nine};
intgetline(char*s,intlim);
charstr[MAX],*p;
intcounter[10]={0},i;
enumdignu=zero;
p=str;
while(*p)
if(*p>
*p<
counter[nu+*p-'
]++;
p++;
counter[i]);
intn,sum=0;
for(n=1;
n<
=1000;
n++)
if(n%3==0&
n%5==0&
n%7==0)
%5d"
sum+=n;
\nsum=%d\n"
doublec,f;
请输入华氏温度数:
%lf"
f);
c=5.0/9*(f-32);
摄氏温度是:
c);
doubleH(intn,doublex);
intn;
doublex;
Inputxandn:
%lf,%d"
x,&
n);
H(%d,%lf)=%lf\n"
n,x,H(n,x));
doubleH(intn,doublex)
if(n==0)
return1;
elseif(n==1)
return2*x;
return2*x*H(n-1,x)-2*(n-1)*H(n-2,x);
三、填空题(10分,共5题,每小题2分)
C
A
①
D
②
A
B
D