第 3 次作业 一、程序阅读题(本大题共 50 分,共 5 小题,每小题 10 分)
1.
#include <>
#define F(x) x*x
int main()
{
double n;
n=F+5)/F(3);
printf("n=%.2lf\n",n);
return 0;
}
(写出下面程序执行的结果)
#include <>
int main()
{
int x,b1,b2,b3;
x=300;
b3=x/100;
b2=(x-b3)/100;
b1=x%10;
x=b1+b2+b3;
printf("%d\n",x);
return 0;
}
3.
写出下面程序执行的结果)
#include <>
int main()
{
char c,str[]="SSSWILTCH2\2\223WALL";
int k;
for(k=2;(c=str[k])!='\0';k++)
{ switch(c)
continue;{ case 'A':putchar('a');
continue;
case '2': break;
case
2: while((c=str[k++])!='\2'&&c!='\0')
{
{
case 'T':
putchar('*');
case 'L':
default:
continue;
putchar(c);
continue;
}
putchar('#');
}
printf("\n");
return 0;
}
4. (写出下面程序执行的结果)
#include <>
int main()
{
char c1='a',c2='b',c3='c',c4='\101',c5='\x4a';
printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);
printf("\t\b%c %c\n",c4,c5);
return 0;
}
5.
(写出下面程序执行的结果)
#include <>
int a,b,c,d;
int main( )
{
void p(int a,int b);
printf("%d,%d,%d,%d\n",a,b,c,d);
p(a,b);
printf("%d,%d,%d,%d\n",a,b,c,d);
return 0;
}
void p(int a,int b)
{
static int c;
a++,b++;
c-=1,d+=1;
if(a<3)
p(a,b);
prin tf("%d,%d,%d,%d\n",a,b,c,d);
}
}
二、程序设计题(本大题共40分,共5小题,每小题8分)
编程序实现功能:将一个10行5列数组a每一行中最大值取出存放到一个 一维数组b中,输出数组a和数组b的值,要求所有数组操作通过两种以上的 指针方式表示。
编写程序实现功能:分别统计键盘输入流上接收字符串中每种数字字符的个 数,要求使用数组表示所有计数器集合,并且在数组的下标表达式中使用枚举 型数据。
编程序实现功能:求出在1~1000之间的整数中能同时被3、5、7整除的 数,输出满足条件的数以及它们的和。
编程序实现华氏温度到摄氏温度的转换,其转换公式是:,式中f表示华
氏温度,c表示摄氏温度。
5.
编写一个递归函数计算 Hermite多项式,Hn (x)定义为:
r Ho 仗)二i
Hn(x)= ?
£ H1(x)=2x
n=
I He ( Q 二加氏一 JCn-1M
n>
三、填空题(本大题共10分,共5小题,每小题2分)
1.
下面程序的功能是:求两个实数之和的平方根,请选择合适选项填空完成程
序。
#in elude <>
#i nclude < >
int main()
{
double a,b;
sca nf("%lf,%lf",&a,&b);
prin tf("%lf\n",sqrt(a+b));
return 0;
}
A
B
C
2.
下面程序的功能是:挑选输入流中的数字字符按序组成整数(例如输入流为 ab3c5g8,获取的整数为358),请选择合适选项填空完成程序。
#in elude <>
int main()
{
char c;
int n=0;
while((c=getchar())!='\n')
if( )
n=n *10+c-'0';
printf("n=%d\n", n);
return 0;
}
A c>='0'&&c<='9'
B c>'0'&&c<9
C c>=0&&c<=9
4.
4.
4.
4.
D c>'0'||c<9
下面程序的功能是:求从键盘输入的3个整数之和。请选择合适选项填空完
成程序。
#in elude <>
int add(①);
int main()
{
int a,b