1、第3次作业ﻫ一、程序阅读题(本大题共50分,共 5 小题,每小题 10 分)ﻫ1、
#include <stdio、h>
#define F(x) x*x
int main()
{
double n;
n=F(3、5+5)/F(3);
printf(”n=%、2lf\n”,n);
return 0;
}
2、 (写出下面程序执行得结果) ﻫ#include ﻫint main() ﻫ{ ﻫint x,b1,b2,b3; ﻫ x=300; ﻫ b3=x/100;
b2=(x-b3)/100;
2、 b1=x%10; x=b1+b2+b3; printf("%d\n",x); ﻫreturn 0; } 3、 写出下面程序执行得结果) #include <stdio、h> int main() { char c,str[]="SSSWILTCH2\2\223WALL"; int k; for(k=2;(c=str[k])!='\0’;k++) { switch(c) { case ’A': putchar(’a’); continue;
3、 case '2’: break; case 2: while((c=str[k++])!='\2'&&c!=’\0’) ; case 'T’: putchar(’*'); case ’L': continue; default: putchar(c); continue; } putchar(’#
4、');
}
printf(”\n");
return 0;
}
ﻫ4、 (写出下面程序执行得结果) ﻫ#include
5、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); printf(”%d,%d,%d,%d\n",a,b,c,d)
6、 } } ﻫﻫ二、程序设计题(本大题共40分,共 5 小题,每小题 8 分)ﻫ1、 编程序实现功能:将一个10行5列数组a每一行中最大值取出存放到一个一维数组b中,输出数组a与数组b得值,要求所有数组操作通过两种以上得指针方式表示.ﻫ2、 编写程序实现功能:分别统计键盘输入流上接收字符串中每种数字字符得个数,要求使用数组表示所有计数器集合,并且在数组得下标表达式中使用枚举型数据。 3、 编程序实现功能:求出在1~1000之间得整数中能同时被3、5、7整除得数,输出满足条件得数以及它们得与。ﻫ4、 编程序实现华氏温度到摄氏温度得转换,其转换公式就是: ,式中f表示华氏温度,c表
7、示摄氏温度。 5、 编写一个递归函数计算Hermite多项式,Hn(x)定义为: 三、填空题(本大题共10分,共 5 小题,每小题 2 分) 1、 下面程序得功能就是:求两个实数之与得平方根,请选择合适选项填空完成程序。 #include 〈stdio、h> #include < > int main() { double a,b; scanf("%lf,%lf”,&a,&b); printf(”%lf\n",sqrt(a+b)); return 0; } A string、h B
8、 stdlib、h C math、h D mathematics、h ﻫ2、 下面程序得功能就是:挑选输入流中得数字字符按序组成整数(例如输入流为ab3c5g8,获取得整数为358), 请选择合适选项填空完成程序。 #include 〈stdio、h> int main() { char c; int n=0; while((c=getchar())!=’\n') if( ) n=n*10+c—'0’; printf("n=%d\n",n); return 0;
9、
}
A c>='0'&&c<=’9'
B c〉'0’&&c〈'9'
C c>=0&&c〈=9
D c〉’0’||c〈'9'
3、 下面程序得功能就是:求从键盘输入得3个整数之与。请选择合适选项填空完成程序。 ﻫ#include
10、 } int add(int a,int b) ﻫ{ return a+b; } ﻫA add(a,b),c B a,b,c C int a;int b D int,int 4、 下面程序得功能就是:将从键盘上输入得一个字符串数据写入到指定得文件中,然后将其读出进行校验,正确输出OK,错误输出ERROR。请选择合适选项填空完成程序。 #include <stdio、h〉 #include 〈string、h> int main() { FILE *fpt ; char str[100],str1[100]="",
11、fn[20]; printf("Input the :”); gets(fn); if((fpt= ① )==NULL) { printf("Can’t open \n",fn); return -1; } gets(str); fwrite(str,sizeof(char),strlen(str),fpt); fseek( ② ); fread(str1,sizeof(char),strlen(str),fpt);
12、 if(strcmp(str,str1)==0) printf("OK\n"); else printf("ERROR\n”); puts(str1); fclose(fpt); return 0; } 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中并输出。请选择合适选项
13、填空完成程序。 #include <stdio、h> int main() { unsigned short a,b,c,d; a=0x29; b=a〉〉4; c= ① ; d=b&c; printf("%x\n%x\n”,a,d); return 0; } A (~0<〈4) B ~(0<〈4) C ~(~0>>4) D ~(~0<〈4) ﻫ ﻫ答案: 一、程序阅读题(50分,共 5 题,每小题 10 分) 1、 ﻫ参考答案: n=24、00
14、
ﻫ解题方案:
ﻫ评分标准:ﻫﻫ2、
参考答案:
5ﻫ解题方案:
ﻫ评分标准:
ﻫ3、
参考答案:
SWI*CH#*Wa
ﻫ解题方案:ﻫﻫ评分标准:
4、
参考答案:ﻫaa bb cc abc
A J ﻫﻫ解题方案:ﻫ
评分标准:
5、
参考答案:
0,0,0,0
2,2,-3,3
1,1,-3,3
0,0,0,3
ﻫ解题方案:
ﻫ评分标准:
ﻫ二、程序设计题(40分,共 5 题,每小题 8 分)ﻫﻫ1、
参考答案:
#include <stdio、h〉
#include
15、de <time、h> int main() { int a[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))
16、 *(b+i)=*(*(a+i)+j);
}
printf("\tarray A:\tarray B:\n”);
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
printf("%4d”,a[i][j]);
printf("\t%4d\n",b[i]);
}
return 0;
}
解题方案:
评分标准:
2、 ﻫ参考答案:
#include 17、 MAX 1000
enum dig{zero,one,two,three,four,five,six,seven,eight,nine};
int main()
{
int getline(char *s,int lim);
char str[MAX],*p;
int counter[10]={0},i;
enum dig nu=zero;
gets(str);
p=str;
while(*p)
{
if(*p>='0'&&*p<='9')
counter[ 18、nu+*p-'0’]++;
p++;
}
for(i=0;i〈10;i++)
printf("%4d”,counter[i]);
printf("\n");
return 0;
}
ﻫ解题方案:
ﻫ评分标准:
3、
参考答案:
#include 19、n);
sum+=n;
}
printf(”\nsum=%d\n",sum);
return 0;
}
ﻫ解题方案:
ﻫ评分标准:
ﻫ4、
参考答案:
#include 〈stdio、h> ﻫint main()
{ ﻫdouble c,f;
printf("请输入华氏温度数:");
scanf("%lf”,&f);
c=5、0/9*(f—32);
printf(”摄氏温度就是:%lf\n”,c); ﻫreturn 0;
}
ﻫ解题方案:
评分标准:ﻫ
5、 ﻫ参考答案:
#i 20、nclude






