第五届全国ITAT教育工程就业技能大赛复赛试题C语言程序设计(A卷)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五届全国ITAT教育工程就业技能大赛复赛试题
C语言程序设计(A卷)
请考生仔细阅读并严格遵守题目中关于文件保存和命名的要求。
请务必按照试卷要求为文件命名。
考生答题完毕后,首先创建以“准考证号”命名的文件夹(形式如:433034683),并将考试结果严格按题目上的命名要求进行命名并直接保存在该文件夹下。
注意:考生不得在该文件夹下创建任何子文件夹,所有考试结果均直接保存在该文件夹根目录下。
然后选中整个文件夹,用Winrar压缩工具打包后存放在本考场指定的考试结果存放地址,经监考老师确认上传无误后方可离开考场。
注意:在提交答案时,请务必选中上述存放作品的文件夹(如前面创建的433034683文件夹,而不是文件夹下的全部文件)进行压缩,在完成答案提交后,请确保上述压缩包仍保存在本地计算机中。
请务必按照试卷要求提交指定的文件,不得包含非题目要求的过程文件和临时文件,不得包含本试题文件和试题素材。
注意:凡违反上述规定的考生,其成绩一律按零分处理。
题目命名要求:请将编写好的源程序以题号命名,例如第1题的源程序保存为“1.C” )。
重要提示:由于时间有限,请考生首先保证编写的程序在Wintc环境下可以编译通过并执行,并在此基础上完成考题要求的全部功能,以免因编译不通过影响考生的考试成绩。
1、编程解决如下数学问题:有12升水,怎样利用一个8升和一个5升的容器将水分为两
个6升?要求以如下格式打印出分水步骤。(20分)
a12 b8 c5
12 0 0
* * * (“*”表示当前状态下每个容器的盛水量)
......
0 6 6
#include "stdio.h"
#include "conio.h"
int a,b,c;
void move(int *x,int *y,int ymax)
{
if(*x+*y >ymax)
{
*x=*x+*y-ymax;
*y=ymax;
}
else
{
*y=*x+*y;
*x=0;
}
printf("%d,%d,%d\n",a,b,c); }
main()
{
a=12;
b=c=0;
/*先向c中注水*/
while(a!=6&&b!=6)
{
if(b<8)
move(&a,&c,5);
else
move(&b,&a,12);
if(b!=6&&a!=6)
move(&c,&b,8);
}
if(b==6)
move(&c,&a,12);
else
move(&c,&b,8);
getch();
}
/*先向B中注水
while(a!=6&&b!=6)
{
if(c<5)
move(&a,&b,8);
else
move(&c,&a,12);
if(b!=6&&a!=6)
move(&b,&c,5);
}
if(b==6)
move(&c,&a,12);
else
move(&c,&b,8); */
2、编程实现:有二维数组a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}},将数
组a的每一行元素均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),按行输出新数组。(20分)
/* HELLO.C -- Hello, world */
#include "stdio.h"
#include "conio.h"
main()
{
float a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.4}};
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++) {
printf("a[%d][%d]=%4.2f ",i,j,a[i][j]/a[i][i]); }
printf("\n");
}
getch();
}
3、编程:设x取值为区间[1,20]的整数,求函数f(x)=x-sin(x)- cos(x)的最大值,要求
使用自定义函数实现f(x)功能。(20分)
/* HELLO.C -- Hello, world */
#include "stdio.h"
#include "conio.h"
#include "math.h"
float fun(int a){
float result;
result=a-sin(a)-cos(a);
return result;
}
main()
{
float fun(int);
int x;
float max;
max=fun(1);
for(x=1;x<=20;x++){
if(fun(x)>max)
max=fun(x);
}
printf("max is%4.2f",max);
getch();
}
4、编写函数fun,通过指针实现将一个字符串反向。要求主函数输入字符串,通过调用函
数fun实现输入字符串反向。(20分)
/* HELLO.C -- Hello, world */
#include "stdio.h"
#include "conio.h"
main()
{
void fun(char *p) ;
char a[100];
printf("please input a string:");