在线作业答案 发表于 2017-7-25 13:08:53

西南大学网院[0039]《C语言》在线作业资料

西南大学网络与继续教育学院
欢迎您!%E8%B0%AD%E4%B9%89%E5%9B%BD同学学号:W16105571146005答案

单项选择题
1、假定p1和p2是已赋值的字符型指针,则下述有关运算中,非法的是()
1..p2=p1+(p1p2)printf(&quotequal.&quot)
2..if(p1==p2)
3..*(p12+p2)=getchar()
4.*(p1+=2)=*p2
2、循环语句for(x=0y=0(y!=123)||(x&lt4)x++);的循环执行()
1.无限次
2.不确定次
3.4次
4.3次
3、设有定义&quotinta=5b*p=&ampa&quot,执行下列语句后b的值不为5的赋值语句是()。
1.b=*&ampa
2.b=*
3.b=a
4.b=*a
4、若有定义:chars;以下哪个选项不能实现将字符串&quotThisisaProgram.&quot存入数组s中()。
1.gets(s+2)
2.scanf(\&quot%20s\
3.s)&quot
4..for(i=0i&lt18i++)((c=getchar())!=&quot\n&quot)D.i=0while((c=getchar())!=&quot\n&quot)
5..i=0while
5、对于for(表达式1;;表达式3)可理解为()
1.for(表达式1;0;表达式3)
2.for(表达式1;1;表达式3)
3.for(表达式1;表达式1;表达式3)
4.for(表达式1;表达式3;表达式3)
6、语句while(!e)中的条件!e等价于()
1.e==0
2.e!=1
3.e!=0
4.~e
7、设xyzt均为int型变量,则执行x=y=z=1t=++x||++y&amp&amp++z语句后,t的值为()
1.不定值
2.2
3.1
4.0
8、设inta=2b则执行b=a&amp&amp1后b的值是()
1.0
2.1
3.2
4.3
9、执行下述程序后,输出的结果是()。
#include&ltstdio.h&gt
#defineSQR(X)X*X
voidmain()
{inta=10k=2m=1
a/=SQR(k+m)/SQR(k+m)
printf(&quot%d&quota)}
&ltbr&ltspan=&quot&quot&gt&lt/br&lt&gt
1.10
2.1
3.9
4.0
10、有如下程序,输入数据12345&ltCR&gt后,y的值是()。
#include&ltstdio.h&gt
voidmain()
{intxfloaty
scanf(&quot%3d%f&quot&ampx&ampy)}
&ltbr&ltspan=&quot&quot&gt&lt/br&lt&gt
1.12.000000
2.45.000000
3.12345.000000
4.0.000000
11、若有如下程序,要求a1a2c1c2的值分别为10,20,A,B,正确的数据输入是()。
#include&ltstdio.h&gt
voidmain()
{inta1a2
charc1c2
scanf(&quot%d%d&quot&ampa1&ampa2)
scanf(&quot%c%c&quot&ampc1&ampc2)}
&ltbr&ltspan=&quot&quot&gt&lt/br&lt&gt
1.020AB
2.1020
3.1020AB
4.1020AB
12、求解表达式f=(3.04.05.0)(2.01.00.0)后下列正确的选项是()
1.语法错误
2.使f的值为5.0
3.使f的值为0.0
4.使f的值为2.0
13、表达式(1,2,3,4)的值是(
1.1
2.2
3.3
4.4
14、设intm=1n=2则表达式++m==n的值是()
1.0
2.1
3.2
4.3
15、设n=10i=4则赋值运算n%=i+1执行后n的值是()
1.0
2.3
3.2
4.1
16、设有语句inta=3执行语句a+=a=a*a后,变量a的值是()
1.3
2.0
3.9
4.12
17、下列选项中不是C语言提供的合法保留字的是()
1.switch
2.cher
3.case
4.default
18、表达式a=(a=6a*6a+3)运行后,则a的值为()
1.39
2.36
3.6
4.9
19、下列符合C语言语法的实数是()
1.1.5e0.5
2.3.16e
3.0.5e10
4.e+8
20、关下面语句的输出的判断中,正确的是()。
longx=
1.输出值为4
2.赋值非法
3.输出值不确定
4.输出值为4
21、char型常量在内存中存放的是()
1.SCII码值
2.CD码值
3.内码值
4.十进制代码值
22、()是C语言提供的合法的数据类型保留字(或称关键字)
1.Float
2.unsigned
3.integer
4.Char
23、设inta=lb=2c=3;,执行表达式(a&gtb)&amp&amp(c=1)后c的值是()
1.0
2.1
3.2
4.3
24、设struct{intx;inty;}m={7,3,2,1};,执行printf(“%d”,m.x/m.x*m.y);后的输出结果是()
1.10.5
2.9
3.8.0
4.7
25、下列叙述正确的是()
1.continue语句的作用是跳出循环体
2.while循环语句的循环体至少执行一次
3.dowhile循环语句的循环体至少执行一次
4.switch语句中的每个case语句组必须含有break语句
26、关于函数,下列叙述正确的是()
1.一个函数中可以定义其它的函数
2.C程序总是从main()函数开始执行
3.main()函数也可以被其它函数调用
4.一个C程序可以有多个main()函数
27、设doublex=5.168;,执行printf(“%5.3f”,(int)(x*10+0.5)/10.0);后的输出结果是()
1.5.218
2.5.210
3.5.200
4.5.168
28、设inta[]={12,34,56,78},*p=a;,下列表达式的值为56的是()
1.
2.*(a+2)
3.a
4.*(p+3)
29、正确的C语言字符常量是()&ltbr&ltspan=&quot&quot&gt&lt/br&lt&gt
1.‘\\’
2.‘65’
3.“A”
4.‘/n’
30、能正确表达数学关系式0≤x&lt20的C语言表达式是()&ltbr&ltspan=&quot&quot&gt&lt/br&lt&gt
1.0&lt=x&lt20
2.x&gt=0||x&lt20
3.x&gt=0&amp&ampx&lt20
4.!(x&lt=0)&amp&ampx&lt20
31、设inta=0b=1;,下列语句错误的是()&ltbr&ltspan=&quot&quot&gt&lt/br&lt&gt
1.a=b=10;
2.a++;
3.b+=a;
4.(a+b)++;
32、函数调用语句fun(fun(aa+b,a+c),(ab,c),5);中函数fun的参数个数是()&ltbr&ltspan=&quot&quot&gt&lt/br&lt&gt
1.3
2.4
3.5
4.6
33、可用于C语言用户标识符的是()
1.E.void,define
2.F.2c,DO
3.For,abc
4.as_b3,_123
34、下列运算符的操作数必须是整型的是()
1.A.
2.B.!
3.C.%
4.D.=
主观题
35、下列程序的功能是在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。请填空:
#include&quotstdio.h&quot
voidmain()
{intaimax
for(i=0i&lt10i++)
scanf(&quot%d&quot&ampa)
for((1)i&lt10i++)
if(a&gta)(2)
printf(&quot最大值为:%d,下标是:%d&quot(3)max)}
参考答案:
i=1max=0或max=i=0;max=i;a
36、设floata,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。
参考答案:
(a+b=c)&amp&amp(a+c=b)&amp&amp(b+c&gta)
37、
编写C语言程序的一般步骤什么?在VC环境下,调试程序的基本步骤有哪些?调试程序中常见的错误有哪些?如何解决发现这些错误?
参考答案:
编写C语言程序的一般步骤:分析问题、构建算法、描述算法、编码、调试。
在VC环境下,调试程序的基本步骤有编辑、编译、连接、执行
调试程序中常见的错误有语法错误和逻辑错误。其中语法错误通过编译来实现,逻辑错误通过单步追踪和设置断点的方法来发现逻辑错误。
38、在C语言为什么规定对所有用到的变量要&quot先定义,后使用”?这样的做有什么好处?
参考答案:
对所有用到的变量进行&quot先定义,后使用”的原因:
凡未被事先定义的,C语言不把他认作变量,这样的目的能是为了保证程序中的变量能被正确的使用。
好处:
(1)每一个变量被指定为一个确定类型,在编译时C语言就能为其分配相应的存储单元。
(2)指定每一个变量属于一个类型,便于在编译时检查在程序变量进行的运算合法性。
39、请给出C语言的主要数据类型,请你至少给出4种以上的数据类型实例。
参考答案:
主要数据类型有:C语言包括基本类型(整型、字符型、浮点型(单、双精度型)枚举类型)、构造类型(数组、结构体、共用体类型)、指针类型、空类型。
数据类型实例依据学生答题评定
40、
一个C程序由哪些要素构成,请给出一个C语言程序进行说明。
参考答案:
一个C程序由若干函数组成,但至少一个主函数。而每个函数包括函数的首部和函数体。
C语言程序实例依据学生答题评定。
41、编一程序求:1+(1+2)+(1+2+3)+……+(1+2+3+……+10)。
参考答案:
参考答案
#include&quotstdio.h&quot
main()
{
intis=0t=0
for(i=1i&lt=10i++)
{t+=is+=t}
printf(&quot%d&quots)
}
42、C语言程序包括哪些三种基本结构?请给出这三种基本结构的传统流程图或NS图
参考答案:
C语言程序包括哪些三种基本结构:顺序结构、选择(或分支)结构、循环结构.三种基本结构图示依据作业情况评定
&ampOslash顺序结构
顺序结构是一种最基本、最简单的程序结构。先执行A,再执行B,A与B是按照顺序执行。
&ampOslash选择(或分支)结构
根据条件是否成立而去执行不同的程序模块。当条件P为真时,执行A,否则执行B,即要么执行A,要么执行B。
&ampOslash循环结构
循环结构是指重复执行某些操作,重复执行的部分称为循环体。
43、
什么是函数的原型?其作用是什么?在这些作用中如何使用?
参考答案:
若自定义了一个函数,则该函数的首部称之为该函数的原型
函数原型的作用调用函数的接口;用于原型声明
其中函数的调用方法:函数(实在参数)
函数的原型声明:当被调用函数在调用函数之后时,必须进行原型声明,在程序最前面或在调用函数中进行声明,声明方法:
函数的首部
44、什么是内部函数和外部函数?
参考答案:
内部函数:一个函数只能被本文件中的其它函数调所用,在定义时使用static。
外部函数:一个函数不光是被本文件中其它函数调用,还可以被其它文件中的函数调用,定义时用extern。extern可缺省。
45、在下列程序中,循环结构执行结束后,i的值是多少,循环次数是多少?i执行的次数是多少?
#include
voidmain()
{inti=100s=0
while(i)s+=i
printf(&quot%d”s)
参考答案:
I的值为1,循环次数是100,i执行的次数为101
46、在下列程序中,fun函数为一个递归函数,请将程序中的fun函数改为非递归函数,保持功能不变。
#include&quotstdio.h&quot
longfun(intn)
{if(n==1)
return1
else
returnn*fun(n1)
}
voidmain()
{intn
printf(&quot请输入n的值:&quot)
scanf(&quot%d&quot&ampn)
printf(&quot%d!=%ld&quotnfun(n))
}
参考答案:
参考答案
#include&quotstdio.h&quot
#include&quotstring.h&quot
viodf()
{intn
charch
gets(ch)
n=strlen(ch)
for(i=n1i&gt=0i)
printf(&quot%c&quotch)
}
main(){f()}
47、
参考答案:
48、
下列表达式的值是多少?处理表达式后,a的值是多少?假设整数类型变量a的值为12
(1)a+=a(2)a=2
(3)a*=2+3(4)a/=a+a
(5)a%=(n%=2)n的值等于5(6)a+=a=a*a
参考答案:
表达式计算
(1)表达式a=a+a的值是24?处理表达式后,a的值是24
(2)表达式a=a2的值是10处理表达式后,a的值是10
(3)表达式a=a*(2+3)的值是60处理表达式后,a的值是60
(4)表达式a=a/(a+a)的值是0,处理表达式后a的值是60
(5)表达式a%=(n%=2)的值是0,处理表达式后a的值是12
(6)表达式a+=a=a*a的值是264,处理表达式后a的值是264
49、请简述算法、程序设计语言与程序的区别与联系
参考答案:
区别:算法(Algorithm)就是对解决某问题所采用的方法和步骤的描述。程序设计语言设计上就是一组符号及规则的集合。它是由语法、语义、语用三个要素组成。一个程序一般包括数据类型和算法两个方面的内容。其中数据类型(即数据结构)是对程序中的数据进行描述,指定数据在程序中的类型和数据的组织形式,它决定了数据的在内存中所占的存储空间和数据在内存中存放形式。而算法是对程序中数据的操作描述,是解决“做什么”和“怎么做”的问题,源程序中的操作语句就是算法的体现。正如著名计算机科学家沃思(NikiklausWirth)所提出的观点:程序=数据结构+算法。
联系:程序设计语言是编写程序实现算法的语言工具
50、什么是算法?算法的特征?算法的描述方法有哪些?
参考答案:
所谓算法(Algorithm)就是对解决某问题所采用的方法和步骤的描述。
一个算法应该具有以下特点:
(1)确定性:一个算法给出的每个计算步骤都必须是准确的、无二义性。在【例1.6】中每一个步骤的含义都是确定的。
(2)有穷性:一个算法必须在执行有穷多个计算步骤后终止。在【例1.6】中执行4个步骤后问题处理结束。
(3)有效性:算法中的每一个步骤必须能够有效地执行,并能够得到确定的结果。
(4)输入:一个算法可以有0个或1个以上的输入。在【例1.6】中需要输入abc三个数。
(5)输出:一个算法有1个或多个的输出,一个算法得到的结果就是算法的输出。在
算法的描述方法有:自然语言、流程图、NS图等。
51、在下列程序中,函数f的功能是什么?该程序的运行结果是多少?
#include&quotstdio.h&quot
intfun(intnum)
{intk=1
do
{k*=num%10
num/=10
}while(num)
returnk
}
voidmain()
{intx=651y=123
printf(&quot%d%d&quotfun(x)fun(y))
}
参考答案:
函数f的功能是求任意整数的各位数字之积,该程序的运行结果是15,0
52、在下列程序中,函数p的功能是什么?该程序的运行结果是多少?
#include&quotstdio.h&quot
voidsort(intx[]intn)
{intijkt
for(i=0i&ltn1i++)
{k=i
for(j=i+1j&ltnj++)
if(x&gtx)k=j
if(i!=k)
{t=xx=xx=t}
}
}
voidmain()
{inta={34508967102117530125145}i
sort(a10)
for(i=0i&lt10i++)
printf(&quot%10d&quota)
}
参考答案:
函数p的功能是对n个整数排序,该程序的运行结果是11303450677589102125145
53、结构化程序设计方法的内容是什么?划分模块的基本原则?采用结构化方法的好处?
参考答案:
结构化程序设计方法是一种自顶向下、逐步求精、模块化的程序设计方法。按照结构化程序设计方法的思想,就是将给定的一个功能较多的复杂问题合理地划分为若干个较简单的子问题,还可以将这些子问题再分解为若干功能更简单的子任务(可将每个子任务看作一个模块),以便于“分而治之”
在模块划分时,应该尽可能地保证数据的独立性和模块功能的唯一性。也就是说,各模块间的耦合性要尽量弱,即一个模块最好像是一个黑盒子,模块间的数据交换要尽量少;模块的内聚性要尽量强,即每个模块只完成单一的功能。
结构化程序设计强调程序设计风格和程序结构的规范化,提倡结构清晰。良好的程序设计风格可以使程序结构清晰合理,使程序代码便于维护。著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。
采用结构化程序设计方法的好处是:可以使每个模块功能明确,模块间的关系简单、清晰(即可读性强),每个模块内部的修改尽可能不影响其他模块(即独立性好),同时每个模块的正确性容易验证(即可维护性好)。
54、通过你对C语言程序设计课程的学习,你认为C语言程序设计具有哪些特点?并简要说明。C语言有哪些局限性?针对这些局限性,是如何解决这些问题的?
参考答案:
(1)C语言是一种结构化的语言
一个C语言程序是由一个或多个函数组成,函数是C语言的基本单位。
(2)C语言有强大的表现能力和处理能力
C语言具有丰富的运算符和数据类型,并且引入了结构、指针、地址、位运算、寄存器存储等功能,使C语言实现了对硬件编程操作,大大提高了C语言的表现能力和处理能力。
(3)C语言程序易于移植
同汇编语言相比,C语言将与硬件相关的部分也通过库函数或其他相关函数来实现,不再依赖于具体的机器,广泛地移植到了各种类型计算机上,从而体现了C语言的易移植性。
(4)C语言的运行效率高
用C语言编写的程序可通过编译获得高效的可执行代码
C语言也存在着一些局限:
(1)C语言的类型检查机制相对较弱,使得程序中的一些错误不能在编译时由编译程序指出;
(2)C语言缺乏支持代码重用的语言结构;
(3)C语言不适合开发大型程序,当程序的规模达到一定程度时,程序员很难控制程序的复杂性。
C++语言正是为了解决上述问题而设计的。C++语言继承了C语言的精髓,如高效率、灵活性等,并增加了面向对象机制,弥补C语言不支持代码重用的不足,这对于开发大型的程序非常有效。C++语言成为一种既可用于表现过程模型,又可用于表现对象模型的优秀的程序设计语言。
55、程序的功能是从键盘上任意输入一个正整数,求各位数字之和。请用模块化方法改写下列程序功能不变。
#include&quotstdio.h”
voidmain()
{intn
intrs=0
scanf(&quot%d”&ampn)
do{r=n%10
s+=rn=n/10
}while(n&gt0)
printf(&quot%d”s)
}
参考答案:
参考答案
#include“stdio.h”
intadd(intn)
{intrs=0
do{r=n%10
s+=rn=n/10
}while(n&gt0)
return(s)
}
voidmain()
{intm
scanf(“%d”&ampm)
printf(“%d”add(m))
}
56、
有如下程序
#include&ltstdio.h&gt
intfun(intx)
{intp
if(x==0||x==1)return3
elsep=xfun(x2)
returnp
}
voidmain()
{printf(&quot%d”fun(9))
}
该程序的输出结果是多少?
参考答案:
该程序的输出结果是7
57、下列函数的功能是什么
intfun(char*x)
{char*y=x
while(*y++)
returnyx1}
参考答案:
函数的功能是求字符串的长度
58、什么是指针,什么是指针变量?指针所指向的变量?给一实例说明
参考答案:
指针:就是一个变量的地址
指针变量:有一个变量专门用来存放另一变量的地址(即指针)。
如果将一个变量的地址(指针)赋给同一类型的指针变量,则该变量为指针变量所指向的变量。
如intx=10*p=&ampx
则:整数变量x的值为10,指针变量为p,指针所指向的变量为*p.
59、
从键盘上任意输入20个2位或3位整数存放在array数组中,找出array数组中的能够被7整除的数存放在数组b中,并对b数组的值按升序排列。
要求:
(a)编写一个sort(intwordinta[])函数实现排序功能。
(b)除sort函数外,其余在主函数内完成,但主函数必须调用sort函数实现排序功能。
(c)程序必须有输入输出提示。
参考答案:
#include&quotstdio.h&quot
voidsort(inta[]intn)
{
intijt
for(i=0i&ltni++)
for(j=0j&ltnij++)
if(a&gta)
{
t=a
a=a
a=t
}
printf(&quot排序以后的数&quot)
for(i=1i&lt=ni++)
printf(&quot%d&quota)
printf(&quot\n&quot)
}
intmain()
{
intarray
intb
intij=0
printf(&quot请输入20个整数:&quot)
for(i=0i&lt20i++){
scanf(&quot%d&quot&amparray)
if(array%7==0)
b=array
}
printf(&quot这20个整数中,能被7整除的有:&quot)
for(i=0i&ltji++)
printf(&quot%d&quotb)
printf(&quot\n&quot)
sort(bj)
return0
}
60、编写一个函数计算函数f(xy)=x2+y2+sin(x)的值,要求有输入输出提示,结果保留小数点后3位
参考答案:
#include&ltstdio.h&gt
#include&ltmath.h&gt
voidmain()
{
doublexyresult
printf(&quot请分别输入x,y的值:&quot)
scanf(&quot%lf%lf&quot&ampx&ampy)
result=x*x+y*y+sin(x)
printf(&quot函数f(%.0lf%.0lf)=%.3lf\n&quotxyresult)
}
61、输出100900之间的所有奇数,并求出这些奇数的平均值输出
参考答案:
#include&quotstdio.h&quot
voidmain()
{
intxsum=0count=0
for(x=100x&lt=900x++)
if(x%2!=0){
printf(&quot%d\t&quotx)
sum+=x
count++
}
printf(&quot\n这些奇数的平均值是%d\n&quotsum/count)
}
62、编写一个函数fun求出分数序列的前n项之和,再写一主函数测试其功能
参考答案:
#include&quotstdio.h&quot
voidfun(intn){
doubles=0.0t1=1t2=2temp
inti
for(i=1i&lt=ni++)
{
s=s+t2/t1
temp=t2
t2=t1+t2
t1=temp
}
printf(&quot此数列的前N项的和是%.1lf\n&quots)
}
voidmain(){
intn
printf(&quot请输入自然数N(N&gt1)\n&quot)
scanf(&quot%d&quot&ampn)
fun(n)
}
63、输出1500之间的所有偶数,并求出这些偶数的平均值输出。
参考答案:
#include
voidmain()
{
intxsum=0count=0
for(x=1x&lt=500x++)
if(x%2==0){
printf(&quot%d\t&quotx)
sum+=x
count++
}
printf(&quot\n这些偶数的平均值是%d\n&quotsum/count)
}
64、依据下列提供的程序回答问题
#include
intfun(intaintb)
{intr
r=a%b
while(r!=0)
{a=bb=rr=a%b}
return(b)
}
voidmain()
{intnum1num2a
printf(&quotInputnum1num2&quot)
scanf(&quot%d%d&quot&ampnum1&ampnum2)
printf(&quotnum1=%d,num2=%d\n\n&quotnum1num2)
a=fun(num1num2)
printf(&quotThemaximuncommondivisoris%d\n\n&quota)
}
(1)上述提供程序中,函数fun的功能是什么?
(2)请依据提供的函数fun代码画出其中的传统流程图或NS图。
(3)在VC6.0环境下,运行上述程序时,若输入的数据序列为24,36其输出结果是什么?
参考答案:
(1)上述提供程序中,函数fun的功能是求最大公约数
(2)请依据提供的函数fun代码画出其中的传统流程图或NS图。
依据考生答题给分
(3)在VC6.0环境下,运行上述程序时,若输入的数据序列为24,36其输出结果是:
num1=24,num2=36
Themaximuncommondivisoris12
65、
参考答案:
#include&quotstdio.h&quot
voidfun(intn){
doubles=0.0t
inti
for(i=1i&lt=ni++)
{
t=2*i
s=s+(t1)*(t+1)/(t*t)
}
printf(&quot此数列的前N项的和是%.3lf\n&quots)
}
voidmain(){
intn
printf(&quot请输入自然数N(N&gt1)\n&quot)
scanf(&quot%d&quot&ampn)
fun(n)
}
66、写一个函数将一个字符串中的大写字母转换为小写,再写一个测试函数测试其功能。不允许使用strlwr函数
参考答案:
#include&quotstdio.h&quot
voidconvert(char*str)
{
for(inti=0str!=\0i++){
if(str&gt=A&amp&ampstr&lt=Z){
str=strA+a
}
}
}
intmain()
{
charstr=&quotaZcdABxDEF123&quot
convert(str)
printf(&quot%s\n&quotstr)
return0
}
67、
参考答案:
#include&ltstdio.h&gt
#include&ltmath.h&gt
voidmain()
{
doublexyresult
printf(&quot请分别输入x,y的值:&quot)
scanf(&quot%lf%lf&quot&ampx&ampy)
result=sqrt(x+1)+y*y*y
printf(&quot函数f(%.0lf%.0lf)=%.3lf\n&quotxyresult)
}
68、#include&quotstdio.h&quot
doubleaver(inta[]intm)
{inti
doublesum=0
for(i=0i&ltmi++)sum+=a
return(sum/10)
}
voidmain()
{intaimax
doublesum=0
for(i=0i&lt10i++)scanf(&quot%d&quot&ampa)
printf(&quot平均分数:%6.0lf\n&quotaver(a10))
max=0
for(i=1i&lt10i++)
if(a&gta)max=i
printf(&quot最大值为%d最大值下标是%d\n&quotamax+1)
}
(1)所提供程序中,函数aver的功能是什么?
(2)请依据提供上述程序,画出其的传统流程图或NS图或自然语言描述。。
(3)若输入的数据分班为:45878990778888787878,则在VC6.0环境下运行上述程序,其输出结果是什么?
参考答案:
(1)求m个数的平均值
(2)依据考生答题评定
(3)平均分80
最大值为:90,最大值下标是:4
69、依据下列提供的程序回答问题
#include&ltstdio.h&gt
#include&ltmath.h&gt
intf(intx)
{inti
for(i=2i&lt=sqrt(x)i++)
if(x%i==0)return0
return1
}
voidmain()
{intain=0
for(i=0i&lt10i++)
scanf(&quot%d&quot&ampa)
for(i=0i&lt10i++)
if(f(a)==1)
{printf(&quot%5d&quota)n++
}
printf(&quot\n满足条件的数的个数为%d&quotn)
}
(1)上述提供程序中,函数f的功能是什么?
(2)请依据提供的函数f的代码程序,画出其的传统流程图或NS图或自然语言描述。。
(3)在VC6.0环境下,运行上述程序时,若输入的数据序列为9735171103114543789其输出结果是什么?
参考答案:
(1)提供程序的功能是什么?
判断x是否是素数
(2)依据考生答题给分
(3)输出结果
971731143789
满足条件的数的个数是7
70、写一个函数将一个字符串中的小写字母转换为大写,再写一个测试函数测试其功能。不允许使用strurp函数
参考答案:
#include&quotstdio.h&quot
voidconvert(char*str)
{
inti
for(i=0stri++)
if(str&gt=a&amp&ampstr&lt=z)
str=32
}
intmain()
{
charstr=&quotaZcdABxDEF123&quot
convert(str)
printf(&quot%s\n&quotstr)
return0
}
71、利用随机函数产生20个100300的随机整数放入数组a中,从键盘输入查找关键字word是否在数组a中。
要求:
(1)编写一个函数find(intwordinta[])查找关键字word是否在数组a中
(2)主函数中产生随机整数,并调用find函数进行测试。
(3)程序必须有相应的输入输出提示。
参考答案:
#include&quotstdio.h&quot
#include&quotstdlib.h&quot
voidfind(intwordinta[])
{
for(inti=0i&lt20i++)
if(word==a)
printf(&quot找到关键字word,它在数组中的位置是:%d&quoti)
else
printf(&quot没有找到关键字word!\n&quot)
}
intmain()
{
inta
intword
inti
srand(time(0))
for(i=0i&lt20i++)
a=rand()%201+100
printf(&quot请输入关键字word:&quot)
scanf(&quot%d&quot&ampword)
find(worda)
return0
}

更多免费学习资料请登录www.openhelp100.com

页: [1]
查看完整版本: 西南大学网院[0039]《C语言》在线作业资料