中国石油大学华东2013-2014第一学期c语言期末考试答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机程序设计C(2-1)》期末考试试卷
专业班级
姓名
学号
开课系室计算机应用技术系
考试日期 2014年 1月10日
一、程序阅读题(每空2分,共20分)
1.若想通过以下输入语句给a赋值1,给b赋值2,则输入数据的形式应该是【1】。
scanf("%d,%d",&a,&b);
2.如果a和b的值分别为20和10,下列语句printf("%d+%d=%d",a,b,a+b);输出到屏幕上的结果是【2】。
3.下面程序的输出结果为【3】。
#include
int main()
{
int x = 10,y = 3;
printf("%d\n",x/y);
return 0;
}
4.设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【4】。
for(i = 0,j = 10; i <= j; i ++,j --)
k =i + j;
5. 水仙花数是指一个三位数的各位数字的立方和是这个数本身,请阅读下面程序并完成填空。
#include
int fun(int n)
{
int i,j,k,m;
m = n;
【5】;
while(m)
{
【6】;
m = m / 10;
k = k + j * j * j;
}
if(k == n)
【7】;
else
return 0;
}
int main()
{
int i;
for(i = 100; i < 1000; i ++)
{
1
if( 【8】== 1)
{
printf("%d is ok!\n" ,i);
}
}
return 0;
}
6. 程序功能是:从键盘输入一行字符,将其中的所有数字字符转换为按先后顺序排列的一个整数。例如,输入的一行字符为“a2b0D04”,输入结果为整数2004,请补充完整程序。
#include
int main()
{
int n = 0;
char ch;
ch = getchar();
while(ch != '\n')
{
if( 【9】)
{
n = n * 10 + ch - '0';
}
ch = getchar();
}
printf("value = %d\n",n);
return 0;
}
7.有以下程序
#include
int sub(int n)
{
return (n / 10 + n % 10);
}
int main()
{
int x,y;
scanf("%d",&x);
y = sub(sub(sub(x)));
printf("%d\n",y);
return 0;
}
若运行时输入:1234<回车>,程序的输出结果是【10】。
二、程序改错题(每处错误2分,共20分,请修改并且只能修改/************found************/的下一行)
1.下面这段代码是让计算机计算a和b的积。
#include
/**********found【1】**********/
int mian( )
{
/**********found【2】**********/
int a,b,c;
scanf("%f%f",&a,&b);
c = a * b;
/**********found【3】**********/
printf("%F\n",c);
return 0;
}
2.下面这段代码求m和n的最大公约数。
#include
int main()
{
int m,n,r;
/**********found【4】**********/
scanf("%d%d",m,n);
do {
/**********found【5】**********/
r = m / n;
m = n;
n = r;
/**********found【6】**********/
}while(r == 0);
/**********found【7】**********/
printf("最大公约数是:%d\n",r);
return 0;
}
3.下面这段代码是用来求1+1/1+1/2+1/3+…+1/n。
#include
/**********found【8】**********/
int Fun(int n)
{
int i;
/**********found【9】**********/
double sum = 0.0;