C语言2作业参考答案

C语言2作业参考答案
C语言2作业参考答案

C语言2作业1

一、判断题 (16分)

1. C程序是由函数构成的,每一个函数完成相对独立的功能。

2分

2. 被main函数调用的函数只能是库函数。

2分

3. 只有在函数被调用时,其形式参数才临时地占有存储空间.

2分

4. 函数若无返回值,则它一定无形参.

2分

5. 如果函数类型不定义为空类型,即使在return后面没有表达式,而实际上函数也是有一个不确定的返回值的.

2分

6. 函数必须有形参

2分

7. 函数必须有return语句

2分

8. 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是

5

2分

二、选择题 (18分)

1.一个数据类型为void的函数中可以没有return语句,那么函数被调用时( ).

[A] 2分

A. 没有返回值

B. 返回一个系统默认值

C. 返回值由用户临时决

定 D. 返回一个不确定的值

2.在C语言中,函数的数据类型是指____。

[A] 2分

A. 函数返回值的数据类型

B. 函数形参的数据类型

C. 调用该函数时的实参的数据类型

D. 任意指定的数据类型

3.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是____。

[D] 2分

A. 函数调用可以作为独立的语句存在

B. 函数调用可以作为一个函数的实参

C. 函数调用可以出现在表达式中

D. 函数调用可以作为一个函数的形参

4.阅读下面程序段,则执行后输出的结果是____。

#include

void main()

{ int m=4,n=2,k;

k=fun(m,n);

printf("%d\n",k);

}

int fun(int m,int n)

{

return(m*m*m-n*n*n);

}

[C] 2分

A. 64

B. 8

C. 56

D. 0

5.编写求两个双精度数之和的函数,选项中正确的是____。A)double add(double a,double b)

{ double s;

s=a+b;

return s; }

B)double add(double a,b)

{ double s;

s=a+b;

return (s);}

C)double add(double a double b)

{ double s;

s=a+b;

returns;}

D)double add(a,b)

{ double a,b,s;

s=a+b;

return (s);}

[A] 2分

A. A

B. B

C. C

D. D

6.现有如下程序段

#include

int aa(int x,int y);

void main()

{ int a=24,b=16,c;

c=aa(a,b);

printf("%d\n",c);

}

int aa(int x,int y)

{ int w;

while(y)

{ w=x%y;

x=y;

y=w;

}

return x;

}

则程序段的输出结果是____。

[D] 2分

A. 5

B. 6

C. 7

D. 8

7.函数的值通过return语句返回,下面关于return语句的形式描述错误的是____。

[C] 2分

A. return 表达式;

B. return (表达式);

C. 一个return语句可以返回多个函数值

D. 一个return语句只能返回一个函数值

8.阅读下面程序,则执行后的结果为____。

#include

void main()

{ fun3(fun1(),fun2());}

fun1()

{ int k=20;

return k;}

fun2()

{ int a=15;

return a;}

fun3(int a,int b)

{ int k;

k=(a-b)*(a+b);

printf("%d\n",k);}

[B] 2分

A. 0

B. 175

C. 184

D. 编译不通过

9.阅读下列程序,则执行后输出的结果是____。

#include

void fun(int k)

{ k++;

k=k*6;}

void main()

{ int k=1;

fun(k);

printf("%d\n",k);}

[A] 2分

A. 1

B. 2

C. 6

D. 12

三、程序设计题 (30分)

1. 第5章四、1 10分

题目描述

输入一个整数x,输出下面分段函数f(x)的值。要求将分段函数的计算定义成函数。当x>0时 f(x)=1;当x=0时 f(x)=0;当x<0时 f(x)=-1。

输入描述

输入一个整数

输出描述

输出分段函数f(x)的值

样例输入

100

样例输出

f(100)=1

【参考答案1】

#include

{

if(x>0) return 1;

else if(x==0) return 0;

else return -1;

}

void main()

{ int x,y;

scanf(“%d”,&x);

y=f(x); // 函数调用

printf("f(%d)=%d\n",x,y);

}

2. 第5章四、4 10分

题目描述

输入三个数,输出它们的最小值。要求定义一个函数,返回两个数的最小值。输入描述

输入三个实数中间用空格间隔

输出描述

输出结果保留三位小数

样例输入

样例输出

-123.457

【参考答案1】

#include

double min(double x,double y)

{ if(x

else return y;

}

void main()

{ double a,b,c,m;

scanf("%lf%lf%lf",&a,&b,&c);

m=min(min(a,b),c);

printf("%.3f\n",m);

}

3. 第5章四、5 10分

题目描述

在主函数中输入字符c和m,调用函数prn,连续将字符c输出m次。定义函数prn,完成连续将某个字符c输出m次后换行。

输入描述

先输入要输出字符,再输入一个整数,两者之间用空格间隔

输出描述

在一行中输出

样例输入

# 5

样例输出

#####

【参考答案】

#include

void prn(char c,int m)

{ int i;

for(i=1;i<=m;i++)

putchar(c);

printf("\n");

}

void main()

{ char c;

int m;

scanf("%c%d",&c,&m);

prn(c,m);

}

C语言2作业2

一、判断题 (18分)

1. 函数即可以嵌套定义,又可以嵌套调用。

2分

2. 空函数没有返回值,除此之外,有些函数可以带回一个或一个以上的返回值。

2分

3. return后面括号里的表达式的值即是此函数的值。

2分

4. 定义在main函数后的任何函数都需在main中进行函数声明。

2分

5. 如果被定义函数的返回值是整型,可以不必进行声明。

2分

6. 求n!既可以用递归的方式,也可以用递推的方式。

2分

7. 递归函数在实现过程中,要使用“堆栈”这种数据结构来保存递归调用过程中的值。

2分

8. 在C语言中,所有函数之间都可以相互调用。

2分

9. 函数的递归调用不过是一个函数直接或间接地调用它自身。

2分

二、选择题 (22分)

1.在下面的函数声明中,存在着语法错误的是( ).

[C] 2分

A. BC(int a, int);

B. BC(int, int);

C. BC(int, int=5);

D. BC(int x, int y);

2.以下程序的输出结果是____。

#include

int fun( int n )

{ int s;

if(n==1||n==2)s=2;

else s=n-fun(n-1);

return s;

}

void main()

{

printf("%d\n",fun(3));

}

[A] 2分

A. 1

B. 2

C. 3

D. 4

3.C语言中,若未说明函数的类型,则系统默认该函数的类型是( )。

[C] 2分

A. float型

B. double型

C. int型

D. void型

4.以下程序中有语法错误,有关错误原因的正确说法是( )。

main()

{int G=5,k;

void par_char(int x,int y);

……

k=par_char(G);

……

}

[C] 2分

A. 语句void par_char();有错,不能用void说明函数的类型

B. 变量名G不能使用大写字母

C. 函数说明和函数调用语句之间有矛盾

D. 函数名中不能使用下划线

5.在C语言中,以下正确的说法是( )。

[D] 2分

A. 形参不占用存储单元

B. 只有当实参和与其对应的形参同名时才共占用存储单元

C. 实参和与其对应的形参共占一个存储单元

D. 实参和与其对应的形参各占用独自的存储单元

6.下列叙述中,正确的叙述项是()。

[B] 2分

A. 定义函数时,必须要有形参

B. 函数中可以没有return语句,也可以有多条return语句

C. 函数f可以用f(f(x))形式调用,这种调用形式是递归调用

D. 函数必须有返回值

7.根据下面函数print的定义,选出调用函数print(5378)的值是()。void print(long n)

{

if (n==0) return ;

else{

print(n/10);

printf("%d ", n%10);

return ;

}

}

[A] 2分

A. 5 3 7 8

B. 8 7 3 5

C. 3 5 7 8

D. 8 7 5 3

8.下述程序输出的结果是()。

#include

void fun(int a,int b,int c)

{ a=456;b=567;c=678;

}

void main()

{ int x=10,y=20,z=30;

fun(x,y,z);

printf("%d,%d,%d",z,y,x);

}

[A] 2分

A. 30,20,10

B. 10,20,30

C. 456,567,678

D. 678,567,456

9.下述程序输出的结果是()。

#include

Fun(int a,int b,int c)

{ c=a*a+b*b;}

void main()

{ int x=22;

fun(4,2,x);

printf("%d",x);

}

[C] 2分

A. 20

B. 21

C. 22

D. 23

10.在下列程序中,调用f(8)的值是()

int f(int n)

{ if(n==1) return(1);

else if(n==2) return(2);

else return(f(n-1)+f(n-2));

}

[D] 2分

A. 13

B. 21

C. 55

D. 34

11.有函数定义int fun() {return (3,4);},则调用fun后的函数返回值是____。

[B] 2分

A. 3

B. 4

C. 3和4

D. 程序出错

三、程序设计题 (20分)

1. 水仙花数2 10分

题目描述

“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。现在要求输出所有在m和n范围内的水仙花数。

(100<=m<=n<=999)。

编程要求,要求编写一个判断水仙花数的函数,在主函数调用该函数判断某个数是否为水仙花数。

输入描述

输入数据包括两个整数m和n

输出描述

要求输出所有在给定范围内的水仙花数如果有多个,则要求在一行内输出,之间用一个空格隔开; 如果给定的范围内不存在水仙花数,则输出no;(注意:输出字母小写)

样例输入

样例输入1:

100 999

样例输入2:

200 300

样例输出

样例输出1:

153 370 371 407

样例输出2:

no

【参考答案】

#include

#include

int isflower(int x) // 判断整数x是否水仙花数

{ int a,b,c;

a=x%10;

b=x/10%10;

c=x/100;

if (a*a*a+b*b*b+c*c*c==x) return 1; // 若是水仙花数返回1,否则返回0

else return 0;

}

void main()

{ int n,m,i,c=0; // 变量c统计水仙花数个数

scanf("%d%d",&m,&n);

for(i=m;i<=n;i++)

{ if (isflower(i)==1)

{ printf("%d ",i);

c++; // 或c=1; 则用变量c标识有否水仙花数

}

}

if (c==0) printf("no\n"); // 若在此范围内无水仙花数,则输出no

}

2. 计算x的n次幂2 10分

题目描述

输入一个实数x和一个整数n(n≥0),计算x的n次幂。要求将计算x的n次幂定义成函数,不允许使用库函数pow。

输入描述

一个实数和一个整数,中间用空格间隔

输出描述

输出结果保留三位小数

样例输入

2.4 3

样例输出

13.824

#include

double mypow(double x,int n)

{ int i;

double y;

for(i=y=1;i<=n;i++)

y=y*x;

return y;

}

void main()

{ int n;

double x,y=1;

scanf("%lf%d",&x,&n);

y=mypow(x,n);

printf("%.3f\n",y);

}

C语言2作业3

一、判断题 (8分)

1. 静态局部变量只在本函数内可用。

2分

2. 外部变量是全局变量。

2分

3. 如果函数类型不定义为空类型,即使在return后面没有表达式,而实际上函数也是有一个不确定的返回值的.

2分

4. 在函数体内定义的变量称全局变量,可以被程序中的所有函数引用。

2分

二、选择题 (10分)

1.以下程序的输出结果是______。

int f( )

{ static int i=0;

int s=1;

s+=i; i++;

return s;

}

main()

{ int i,a=0;

for(i=0;i<5;i++) a+=f( );

printf("%d

",a);

}

[D] 2分

A. 20

B. 24

C. 25

D. 15

2.若有以下程序

#include

void f(int n);

main()

{ void f(int n);

f(5);

}

void f(int n)

{ printf("%d",n); }

则以下叙述中不正确的是______。

[C] 2分

A. 若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B. 若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f

C. 对于以上函数程序,编译时系统会提示出错信息;提示对f函数重复说明

D. 函数f无返回值,所以可用void将其类型定义为无值型

3.以下程序的输出结果是______。

int x=3;

main()

{ int i;

for(i=1;i

}

incre()

{ static int x=1;

x*=x+1;

printf(" %d",x);

}

[C] 2分

A. 3 3

B. 2 2

C. 2 6

D. 2 5

4.设有以下函数;

f(int a)

{ int b=0;

static int c=3;

b++;c++;

return(a+b+c);

}

如果在下面的程序中调用该函数,则输出结果是______。

main()

{ int a=2, i;

for(i=0;i<3;i++) printf("%d\n",f(a));

}

A) B) C) D)

7 7 7 7

8 9 10 7

9 11 13 7

[A] 2分

A. A)

B. B)

C. C)

D. D)

5.若程序中定义了以下函数

double myadd(double a,double b)

{return(a+b);}

并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是______。

[A] 2分

A. double myadd(double a, b);

B. double myadd(double,double);

C. double myadd(double b, double a);

D. double myadd(double x, double y);

三、程序填空题 (10分)

1. 功能:通过函数的递归调用计算阶乘。5分

#include

long power(int n)

{

long f;

if(n>1)

f=__(1)__;

else

f=1;

return(f);

}

void main()

{

int n;

long y;

scanf("%d",&n);

y=__(2)__;

printf("%d!=%ld\n",n,__(3)__);

}

(1)答案2分

power(n-1)*n

(2)答案2分

power(n)

(3)答案1分

y

2. 功能:利用全局变量计算长方体的体积及三个面的面积。5分

#include

int s1,s2,s3;

int vs(int a,int b,int c)

{

int v;

v=__(1)__;

s1=a*b;

s2=__(2)__;

s3=a*c;

return v;

}

int main()

{

int v,l,w,h;

printf("\ninput length,width and height:");

scanf("%d%d%d",__(3)__,&w,&h);

__(4)__;

printf("v=%d s1=%d s2=%d s3=%d\n",v,s1,s2,s3);

}

(1)答案2分

a*b*c

(2)答案1分

b*c

(3)答案1分

&l

(4)答案1分

v=vs(l,w,h)

四、程序设计题 (20分)

1. 统计整数中含某数字个数10分

题目描述

编写函数int ndigit(int n,int k)统计整数n中含数字k的个数。

如:ndigit(38987,8)返回值为2,

ndigit(24226,2)返回值为3,

ndigit(24226,9)返回值为0。

在主函数中输入整数n和k,调用函数ndigit计算出n中含k的个数,并在主函数输出。如果输入的k值不是一位整整则输出error。

输入描述

输入一个整数和一个0~9的数字

输出描述

输出一个相应的整数

样例输入

输入样例1:

345464 4

输入样例2:

0 0

输入样例3:

4565 -6

样例输出

输出样例1:

3

输出样例2:

1

输出样例3:

error

【参考答案】

#include

int ndigit(int n,int k)

{ int c=0;

do { // 若用while语句,则在前面要加if(n==0&&k==0) return 1;

if (n%10==k)

c++;

n/=10;

}while(n!=0);

return c;

}

void main()

{ int n,k;

scanf("%d%d",&n,&k);

if(k>9||k<0)

printf("error");

else

printf("%d\n",ndigit(n,k));

}

2. 双胞胎数10分

题目描述

除1和它本身外,不能被其它整数整除的正整数称为素数(注:1不是素数,2是素数)。若两素数之差为 2 ,则称两素数为双胞胎数,给定一段连续的正整数,请判断其中有多少对双胞胎数。要求将判断某数是否素数写成函数。

输入描述

输入数据包含2个正整数A和B(0

输出描述

请判断并输出[A,B]范围内一共有多少对双胞胎数。

样例输入

31 601

样例输出

22

【参考答案】

#include

int prime(int x)

{ int i,k;

if(x<2) return 0;

k=sqrt(x);

for(i=2;i<=k;i++)

if (x%i==0) return 0;

return 1;

}

void main()

{ int i,n=0,a,b;

scanf("%d%d",&a,&b);

for(i=a;i<=b-2;i++)

if (prime(i)&&prime(i+2))

n++;

printf("%d\n",n);

}

C语言2作业4

一、选择题 (20分)

1.下列能正确定义一维数组a的语句是____。

A.int a(10); B.int n=10,a[n];

C.int n;scanf("%d",&n);int a[n]; D.#define n 10

int a[n];

[D] 2分

A. A

B. B

C. C

D. D

2.若有定义语句“int a[10];”则下列对a中数组元素正确引用的是______。

[A] 2分

A. a[10/2–5]

B. a[10]

C. a[4.5]

D. a(1)

3.设有程序:

main()

{ int i,a[11];

printf("给数组赋值:\n");

for (i=0;i<=10;i++)

scanf("%d",( ));

... ...

printf("输出数组:\n");

for(i=0;i<=10;i++)

printf("%d,",( ));

}

则在程序中的两个园括号中分别应填入:______

[C] 2分

A. &a[i]和&a[i]

B. a[i]和&a[i]

C. &a[i]和a[i]

D. a[i]和a[i]

4.阅读程序:

#include

void main()

{ int a[2]={0},i,j,k=2;

for(i=0;i

for(j=0;j

printf("%d\n",a[k]);

}

以上程序的输出结果是____。

[D] 2分

A. 1

B. 2

C. 3

D. 不确定的值

5.若定义数组int a[10] ,其最后一个数组元素为______。

[C] 2分

A. a[0]

B. a[1]

C. a[9]

D. a[10]

6.若定义数组并初始化int a[10]={ 1,2,3,4},以下哪一个不成立______。

[B] 2分

A. a[8] 的值为0

B. a[1] 的值为1

C. a[3] 的值为4

D. a[9] 的值为0

7.在定义一个一维数组时,不能用来表示数组长度的是______。

A. 常量

B. 符号常量

C. 常量表达式

D. 已被赋值的变量

8.若float型变量占用4个字节,有定义float a[20]={1.1,2.1,3.1};则数组a 在内存中所占的字节数是______。

[D] 2分

A. 12

B. 20

C. 40

D. 80

9.以下程序的输出结果是______。

#include

void main()

{ int i, k, a[10], p[3];

k=5;

for (i=0;i<10;i++) a[i ]=i;

for (i=0;i<3;i++) p[i ]=a[i *(i+1)];

for (i=0;i<3;i++) k+=p[i] *2;

printf("%d\n",k);

}

[B] 2分

A. 20

B. 21

C. 22

D. 23

10.有以下程序

main()

{ int p[7]={11,13,14,15,16,17,18}, i=0,k=0;

while(i<7 && p[i]%2) { k =k+ p[i]; i++; }

printf("%d", k);

}

执行后输出结果是_______。

[D] 2分

A. 58

B. 56

C. 45

D. 24

二、程序设计题 (20分)

1. 与平均值最接近的数10分

题目描述

输入n(n≤20)和n个实数,输出平均值及与平均值相差最小的数(若有多个,只需输出第一个)。

输入描述

输入n和n个实数,各数之间用空格分隔

输出描述

第一行输出平均值,第二行输出与平均值相差最小的数。输出结果均保留两位小数。

样例输入

6 2.3 4 -5 8.5 -9 15

样例输出

2.30

【参考答案1】

#include #include #define N 20 void main()

{ double x[N],v,d; int i,n;

scanf("%d",&n);

for(i=0,v=0;i

for(i=1;i

if(fabs(d-v)>fabs(x[i]-v)) d=x[i];

printf("%.2f\n%.2f\n",v,d); }

2. 最大值和第一个数交换位置 10分

题目描述

输入n (n≤20)和n 个整数放在一维数组中,找出其中最大的数,将它与数组最前面的元素交换后输出这些数。

输入描述

输入n 和n 个整数

输出描述

输出数据占一行,样例输入

5 78 99 34 112 67

样例输出

112 99 34 78 67

【参考答案1】

#include

#define N 20

void main()

{ int a[N],n;

int i,k=0,t;

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

for(i=1;i

if(a[k]

t=a[k];a[k]=a[0]; a[0]=t;

for(i=0;i

printf("%d ",a[i]);

printf("\n");

}

C语言2作业5

一、判断题 (12分)

1. 如果想使一个数组中全部元素的值为1,可以写成 int a[10]={1*10};

2分

2. C允许对数组的大小作动态定义,即可用变量定义数组的大小。

2分

3. 数组定义 int a[10]; 也可以写成 int a(10); 。

2分

4. 在对全部数组元素赋初值时,可以不指定数组长度。

2分

5. 数组定义 int a[10]; 表示数组名为a,此数组有10个元素。

2分

6. 数组定义 int a[10]; 表示数组名为a,此数组有10个元素,第10个元素为a[10]。

2分

二、选择题 (8分)

1.下面的程序中哪一行有错误____。

#include

void main()

{ float array[5]={0.0}; //第A行

int i;

for(i=0;i<5;i++)

scanf("%f",&array[i]);

for(i=1;i<5;i++)

array[0]=array[0]+array[i];//第B行

printf("%f\n",array[0]); //第C行

}

[D] 2分

A. 第A行

B. 第B行

C. 第C行

D. 没有

2.int a[4]={5,3,8,9};其中 a[3]的值为______。

[D] 2分

A. 5

B. 3

C. 8

D. 9

带答案C语言2-10章作业

C语言习题集专业班级 学姓号名 C语言习题集 第2章运算符与表达式 一、选择题 1.若有定义:int a=2,b=3 ; float x=3.5,y= 2.5;则下面表达式的值为( C )。 (float)(a+b)/2+(int)x% (int)y A)3.5 B)35 C)3.500000 D)35.00000 2.若有定义:int x=3 ,y=2; float a=2.5 ,b= 3.5;则下面表达式的值 为( B )。(x+y)%2+(int)a/(int)b A)1.0 B)1 C)2.0 D)2 3.若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。x%=(n%=2) A)0 B)1 C)2 D)3 4.设有int x=11;则表达式(x++*1/3)的值是( A )。

A)3 B)4 C)11 D)12 5.下列程序的输出结果是( C )。 #include <stdio.h> main( ) { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y);} A)3 B)3.2 C)0 D)3.07 6.下列程序执行后的输出结果是(小数点后只写一位)( A )。 #include <stdio.h> main( ) { double d; float f; long l; int i; i=f=l=d=20/3; printf("%d %ld %f %f\n", i,l,f,d); } A)6 6 6.0 6.0 B)6 6 6.7 6.7 C)6 6 6.0 6.7 D)6 6 6.7 6.0 7.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( C )。 A)1 B)2 C)2.0 D)2.5 8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。

交通大学C语言第二次作业

题目1 正确 满分1.00 标记题目 题干 对于传值调用(By Value)的描述,哪一个正确?() 选择一项: a. 实际参数和形式参数共占相同的内存位置 b. 实际参数会把内存地址传递给形式参数 c. 实际参数和形式参数可以使用不同的数据类型 d. 实际参数会将变量内容复制后,把副本传给形式参数 题目2 正确 满分1.00 标记题目 题干 关于多态,下列说法错误的是() 选择一项: a. 编译时多态是在程序运行时才能确定要调用成员方法的哪个版本, 而运行时多态在编译时就能确定要调用成员方法的哪个版本 b. 多态和重载是两个完全不同的概念,前者是通过定义虚方法和重写 虚方法来实现,后者是通过对同一个函数名编写多个不同的实现代码来 完成。 c. 多态可以分为编译时多态和运行时多态。前者的特点是在编译时就能 确定要调用成员方法的哪个版本,后者则是在程序运行时才能确定要调 用成员方法的哪个版本 d. 多态实际上就是重载,它们本质上是一样的 题目3 正确 满分1.00

标记题目 题干 关于静态成员,下列说法正确的是() 选择一项: a. 在类实例化后静态成员也被实例化,因此不同的对象有不同的静态 成员 b. 在类定义时静态成员属于类,在类实例化后静态成员属于对象 c. 同一个类中的静态成员,类实例化后,在不同的对象中形成不同的静 态成员 d. 在类实例化后,同类型的对象都共享类的静态成员,静态成员只有 一个版本 题目4 正确 满分1.00 标记题目 题干 假设有类C继承类B,类B继承类A,则下面说法正确的是() 选择一项: a. C仅继承类A的所有成员,不继承类B的成员 b. 类C仅继承类B的所有成员,不继承类A的成员 c. 类C不仅继承类B的所有成员,也继承类A的所有成员 d. 类C继承类A的部分成员,同时继承类B的所有成员 题目5 正确 满分1.00 标记题目 题干 下列对于对象的描述,哪一个正确?() 选择一项: a. 使用private将对象实例化

C语言上机作业题及答案

实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 12345 输出 5 4 3 2 1 #include"stdio.h" main() { double t,T; printf ("已知华氏温度,根据转换公式计算相应的摄氏温度"); scanf ("%lf",&t); T=(5*(t-32)/9); printf ("摄氏温度=%lf",T); } #include"stdio.h" main() { int value,a,b,c,d,e,m,n,h; printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value); a=value/10000; m=value%10000; b=m/1000; n=m%1000; c=n/100; h=n%100; d=h/10; e=h%10; printf ("%d%d%d%d%d",e,d,c,b,a); } 实验二: 1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误

差在3厘米范围内即视为相符)。 男性身高=(父亲身高+母亲身高)×1.08÷2(厘米) 女性身高=(父亲身高×0.923+母亲身高)÷2(厘米) 2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数 其中,起征点额度是3500元,其他如下: 应纳税所得额税率速算扣除数 不超过1500元的部分 3% 0 超过1500元至4500元的部分 10% 105 超过4500元至9000元的部分 20% 555 超过9000元至35000元的部分 25% 1005 超过35000元至55000元的部分 30% 2755 超过55000元至80000元的部分 35% 5505 超过80000的部分 45% 13505 如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。 #include #include main() { float A,a,H,h,b; printf("父亲身高(厘米)\n"); scanf("%f",&A); printf("母亲身高(厘米)\n"); scanf("%f",&a); printf("孩子实际身高(厘米)\n"); scanf("%f",&H); printf("请选择孩子性别:女=0,男=1\n"); scanf("%f",&b); if(b) h=(A+a)*1.08/2; else h=(A*0.923+a)/2; if(fabs(H-h)<=3) printf("实际身高符合该公式\n"); else

带答案C语言2-10章作业

C语言习题集 专业班级 学号 姓名

第2章运算符与表达式 一、选择题 1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。 (float)(a+b)/2+(int)x% (int)y A) B)35 C) D) 2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。 (x+y)%2+(int)a/(int)b A) B)1 C) D)2 3.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。x%=(n%=2) A)0 B)1 C)2 D)3 4.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。 A)3 B)4 C)11 D)12 5.下列程序的输出结果是( C )。 #include <> main( ) { double d=; int x,y; x=; y=(x+/; printf("%d\n", d*y);} A)3 B)3.2 C)0 D) 6.下列程序执行后的输出结果是(小数点后只写一位)( A )。 #include <> main( ) { double d; float f; long l; int i; i=f=l=d=20/3;

printf("%d %ld %f %f\n", i,l,f,d); } A)6 6 B)6 6 C)6 6 D)6 6 7.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。 A)1 B)2 C) D) 8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。 A)i=int(a) B)++i; C)a=a++=5; D)a=int(i); 9.若执行以下程序段后,c3的值为( A )。 int c1=1,c2=2,c3; c3=c2*c1; A)0 B)0.5 C)1 D)2 10.如下程序的运行结果是( D )。 #include <> main( ) { int y=3,x=3,z=1; printf("%d %d\n",(++x,y++),z+2); } A)3 4 B)4 2 C)4 3 D)3 3 11.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( D )。 A)a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 && a<=0 D)a>=10||a<=0 12.设x,y,t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )。 A)不定值B)4 C)3 D)1 13.以下程序的输出结果是( D )。 #include <> main( ) { int a=3;

交通大学C语言第二次作业教案资料

交通大学C语言第二 次作业

题目1 正确 满分1.00 标记题目 题干 对于传值调用(By Value)的描述,哪一个正确?() 选择一项: a. 实际参数和形式参数共占相同的内存位置 b. 实际参数会把内存地址传递给形式参数 c. 实际参数和形式参数可以使用不同的数据类型 d. 实际参数会将变量内容复制后,把副本传给形式参数 题目2 正确 满分1.00 标记题目 题干 关于多态,下列说法错误的是() 选择一项: a. 编译时多态是在程序运行时才能确定要调用成员方法的哪个版本, 而运行时多态在编译时就能确定要调用成员方法的哪个版本 b. 多态和重载是两个完全不同的概念,前者是通过定义虚方法和重写 虚方法来实现,后者是通过对同一个函数名编写多个不同的实现代码来 完成。 c. 多态可以分为编译时多态和运行时多态。前者的特点是在编译时就 能确定要调用成员方法的哪个版本,后者则是在程序运行时才能确定要 调用成员方法的哪个版本 d. 多态实际上就是重载,它们本质上是一样的 题目3 正确 满分1.00

标记题目 题干 关于静态成员,下列说法正确的是() 选择一项: a. 在类实例化后静态成员也被实例化,因此不同的对象有不同的静态 成员 b. 在类定义时静态成员属于类,在类实例化后静态成员属于对象 c. 同一个类中的静态成员,类实例化后,在不同的对象中形成不同的 静态成员 d. 在类实例化后,同类型的对象都共享类的静态成员,静态成员只有 一个版本 题目4 正确 满分1.00 标记题目 题干 假设有类C继承类B,类B继承类A,则下面说法正确的是() 选择一项: a. C仅继承类A的所有成员,不继承类B的成员 b. 类C仅继承类B的所有成员,不继承类A的成员 c. 类C不仅继承类B的所有成员,也继承类A的所有成员 d. 类C继承类A的部分成员,同时继承类B的所有成员 题目5 正确 满分1.00 标记题目 题干 下列对于对象的描述,哪一个正确?() 选择一项: a. 使用private将对象实例化

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

C语言程序设计-作业与答案

《C 语言程序设计》课程作业 适用层次:专升本 培养类型:理工科专业 专业班级: 姓名: 学号: 作业要求:题目可打印,答案要求手写,考试时交作业。 第1次: 1.编写程序,分别计算1到100之间的奇数之和及偶数之和,并输出。 2.输入三角形的三条边a 、b 、c ,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。 三角形面积计算公式为: s=))()((c x b x a x x ---,其中,x=(a+b+c)/2。 3.输入一个整数,求它的各位数字之和。例如,123的各位数字之和为6,-63的各位数字之和为9。 4.使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6 。 +-+-=71 513114π …… 5.中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何? 6.编写程序,键盘输入正整数n (0= 2 2. 编写一个函数prime(int n),判断一个整数是否是素数,若是素数,函数值返回1,否则返回0。利用该函数找出100-200之间的所有素数。素数是只能被1和自身整除的正整数,2是最小的素数。 3.写一函数int strlength(char *s)求一个字符串的长度。主函数中输入一个字符串,调用函数strlength 求其长度并输出。

扬州大学C语言上机作业1-9整理

答案仅供参考 实验一 4.设计main函数实现从键盘上输入两个整型变量a、b的值,交换它们的值并输出。#include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a; a=b; b=c; printf("%d,%d\n",a,b); getch(); } 5.设计main函数实现从键盘上输入两个整型变量a、b的值,并将b的值加入到a中,输出a的值。 #include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a+b; a=c; printf("a=%d,b=%d\n",a,b); getch(); } 6.从键盘输入整数x的值,根据公式y=x3+3x2+x-10求y的值,输出x和y的值。 #include void main() { int x,y; printf("enter first integer : "); scanf("%d",&x); y=x*x*x+3*x*x+x-10;

printf("x=%d,y=%d\n",x,y); getch(); } 实验二 1.编写程序,从键盘上输入一个整数(例如560)表示分钟,将其换算成用小时和分钟表示,然后输出至屏幕。 #include void main() { int a,b,hour,min; printf("enter first integer : "); scanf("%d",&a); b=60; hour=a/b; min=a%b; printf("hour=%d,min=%d\n",hour,min); getch(); } 2.编写程序,输入两个整数(例如1500和350),求出它们的商和余数并进行输出。 #include void main() { int a,b,c,d; a=1500,b=350; c=a/b; d=a%b; printf("%d,%d",c,d); getch(); } 3.编写程序,读入3个整数给分别变量a,b,c,然后将a,b,c的值输出到屏幕,再交换它们中的数值,把a中原来的值给b,把b中原来的值赋给c,把c中原来的值赋给a,然后再次输出a,b,c的值到屏幕。 #include void main() { int a,b,c,d; printf("enter first integer : "); scanf("%d",&a);

最新C语言程序设计作业答案汇总

C语言程序设计作业 答案

C语言程序设计作业答案 作业一 C语言概述参考答案 一、选择题 1-5 ACDCB 二、编程题 main() { printf(“****************************************\n”); printf(“ Hello,world! \n”); printf(“****************************************\n”); } 作业二程序的灵魂——算法参考答案 一、填空题 1、确定性、有效性、有零个或多个输入、有一个或多个输出 2、顺序结构、选择结构、循环结构 3、函数 作业三数据类型、运算符与表达式参考答案 一、选择题 1-5 BDDAB 6-10 BCAAB 11-15 BCADC 16-20 DACCA 21-25 ADDBA 26-30 DDDDD 作业四顺序结构参考答案 一、选择题 1-5 BCDDD 6-10 BDADD 二、填空题

1、【31.415920,3.14159e+01】 2、【c=k】 3、【a=1,b=空格,c=2】 4、 【a=12,b=345】 5、【c=A】 作业五选择结构参考答案 一、选择题 1-5 ADCBC 6-10 BBBBA 11-15 DBAAC 16-17 CB 二、填空题 1.【-1】 2.【3】 3.【4】 4.【11】 5. 【97或'a'】 作业六循环结构参考答案 一、选择题 1-5 CBAAC 6-10 CBCCB 11-15 DBDDB 16-20 BCAAC 21-25 CDBBB 作业七数组参考答案 一、选择题 1-5 CDDAC 6-10 CCDBC 11-15 DDBCA 16-20 DCBDD 21-23 BDB 二、填空题 1、LBLMNP 2、SW* 3、mo 4、a=2,b=1 作业八函数参考答案 一、选择题 1-5 AAACA 二、填空题 1【编程中的main( )函数】2【函数说明部分】和【函数体】 3【–125= –5*5*5】 4【void add (float a, float b)】【float add (float a, float b)】

C语言2016下半年第二次作业

第2次作业 一、单项选择题 1.若有以下定义:int a[]={3, 4, 5, 6, 7, 8, 9, 10, 11}, *p=a; 则值为5的表达式是( B )。 A)p+=5, *(p+1) B)p+=1, * ++p C)p+=4, *p++ D)p+=1, ++ *p 2.下面函数调用语句含有实参的个数为( B ) fun( ( a, b, c, d ), ( m, n ), (f, g ) ); A)1 B)3 C)4 D)2 3.函数形式正确的是( D )。 A) double myfun( int x, int y) B) int myfun( int x, y) { m=x+y; return m; } { int m; } C) int myfun( int x, int y) D) int myfun( int x, int y) { int x, y; double m; { int m; m=x+y; return m; } m=x+y; return m; } 4.不正确的字符串赋值或赋初值方式是( C )。 A)char *str; str=”string”; B)char str[7]={…s?, …t?, …r?, …i?, …n?, …g?} C) char str[10]; str=”string”; D)char str[]=”string”; str2[]=”12345678”; strcpy(str2, str1); 5.以下程序的输出结果是( B )。 #include main() { char str[]="SSSWLIA", c; int k; for (k=2; (c=str[k])!='\0'; k++) { switch (c) { case 'I': ++k; break; case 'L': continue; default: putchar(c); continue; } } putchar('*'); } A)SSW* B)SW* C)SW*A D)SW 6.以下程序的输出结果是( B )。 #include int w=3; fun( int k) { if ( k==0) return w; return ( fun(k -1 )*k); }

C语言练习作业及答案

习题一 1、C语言源程序最多可能由____ABCD____________部分组成? A)预处理部分B)变量说明部分 C)函数原型声明部分D)函数定义部分 2、一个完整的C语言源程序最少必须有___C____。 A)若干个主函数B)若干个函数 C)且只能有一个主函数D)一个函数 3、C语言以函数为源程序的基本单位最主要有利于__B_____。 A)程序设计结构化B)程序设计模块化 C)程序设计简单化D提高程序设计有效性 4、要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过______________B_______________________。 A)编辑和链接B)编译和链接 C)修改和运行D运行并输入数据 5、一个C程序的执行是从______A______。 A)本程序的main函数开始,到main函数结束。 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 6、以下叙述正确的是__A______。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 7、以下叙述不正确的是___D_____。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 8、C语言规定:在一个源程序中,main函数的位置是___A_____。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后

C语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include main() { int k,m,s=0,i,b=0; for(k=10000;k<=20000;k++ ) { if(k%10==7) { for(i=2,b=0;i main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

C语言作业2

期待的输出时间限制内存限制#include main() { int a,b,c,q,e,f,g,h,i,j,k,m,n,p,x,y,z; scanf("%1d",&a); scanf("%1d%1d%1d%1d%1d",&b,&c,&q,&e,&f); scanf("%1d%1d%1d%1d%1d",&g,&h,&i,&j,&k); x=a+c+e+g+i+k; y=b+q+f+h+j;

n=m-1; z=n%10; p=9-z; printf("%d\n",p); } H2:数制转换(选作) 成绩: 5 / 折扣: 0.8 我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。 这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。譬如12 和 5 ,在十进制下它们是不等的,但若12 使用 3 进制而5 使用六进制或十进制时,它们的值就是相等的。因此只要选择合适的进制,12 和5 就可以是相等的。 程序的输入是两个数字M 和N( 其十进制的值不超过1000000000) ,它们的进制在2~36 之间。对于十以下的数字,用0~9 表示,而十以上的数字,则使用大写的A~Z 表示。 求出分别在2~36 哪种进制下M 和N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。 测试输入期待的输出 制 #include"string.h" #include"stdio.h"

{ char a[N],b[N],d[N],e[N],d0[N]; int i,j,o,r,g,h,w,t,l,k,max1,max2; double p[N],q[N]={0},u[N],v[N]={0},c[N],f[N],m,n; for(i=0;i='\x30') c[i]=b[i]-'0'; if(b[i]<='\x5A'&&b[i]>='\x41') c[i]=b[i]-'7'; } for(i=0;i='\x30') f[i]=e[i]-'0'; if(e[i]<='\x5A'&&e[i]>='\x41') f[i]=e[i]-'7'; } max1=c[0]; for(i=1;i

C语言作业答案

第一章:第6题 方法一: #include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max int main() {int max(int x,int y); int a,b,c,d; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); d=max(max(a,b),c); printf("The largest number is %d\n",d); return 0; } int max(int x,int y) { return (x>y)?x:y; } 第三章第3题 #include #include int main() {float d=300000,p=6000,r=0.01,m; m=log10(p/(p-d*r))/log10(1+r); printf("m=%6.2f\n",m); return 0;

} 第4题 #include int main() {char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0; } (1)运行时会输出什么信息?为什么? 解:运行时输出: 第1行是将c1,c2按%c的格式输出,97是字符a的ASCII代码,98是字符b的ASCII代码。第2行是将c1,c2按%d的格式输出,所以输出两个十进制整数。 (2)如果将程序第4,5行改为: C1=197; C2=198; 运行时会输出什么信息?为什么? 解:由于Visual C++6.0字符型数据是作为signed char 类型处理的,它存字符的有效范围为0~127,超过此范围的处理方法,不同的系统得到的结果不同,因而用“%c”格式输出时,结果是不可预料的。 (3)如果将程序第3行改为; int c1,c2; 运行时会输出什么信息?为什么? 解:如果给c1和c2赋的值是97和平利用8,则输出结果与(1)相同。如果给c1和c2赋的值是197和198,则用%c输出时,是不可预料的字符。用%d输出时,输出整数197和198,因为它们在int类型的有效范围内。 第5题 #include int main() {int a,b; float x,y; char c1,c2; scanf("a=%d b=%d",&a,&b); scanf("%f %e",&x,&y);

c语言练习卷(超级有用)

LL1007 C语言程序设计 江立 第二次书面作业 这里写名字 这里写学号 ANT

书面作业_7 请按下列要求,编写相应程序: 1、一个10个整数的数组(34,91,83,56,29,93,56,12,88,72),找出最小值和其下标。 2、用rand()函数产生100000个0-9之间的随机整数,分别统计0-9数字出现的次数,并输出对应的百分比。(提示:统计次数用一维数组来存放) 3、将数组中的数按颠倒的顺序重新存放。在操作时,只能借助一个临时存储单元而不得另外开辟数组。 注意:不是要求按颠倒的顺序打印数据,而是要求按逆序重新放置数组中的内容。假定a 数组有8个元素,原始内容如表-1所示: 表-1 数组a 原来的内容 现要求改变成如表-2所示: 表-2 重新排列后的数组 a

请按下列要求,编写相应程序: 1、先分别定义两个元素个数分别为41和21的字符数组str1、str2,然后从键盘上输入两个长度不超过20的字符串分别存放到str1、str2中,再将str2内容连接到str1尾部(不使用strcat()函数),最后输出str1的字符串内容。 2、从键盘上输入一个字符串,假定字符串的长度小于200,试分别统计每一种英文字母(不区分大、小写)的个数并输出。 3、假定电文的译码规律如下:A→Z(a→z),B→Y(b→y),C→X(c→x),…,Z→A(z→a)。要求编写程序,能实现将原文翻译成密码,或将密码翻译成原文的功能。原文或密码内容从键盘输入,其所属类型(指原文或密码)也由键盘输入,0代表原文,1代表密码。

请按下列要求,编写相应程序: 1、定义一个求最大公约数函数intgcd(int x, int y),在主函数输入两个整数,然后调用gcd()输出这两个整数的最大公约数。(编程思路参考第6讲课件例子) 2、定义一个将十进制数转换成十六进制数的函数void dec2hex(int n),该函数的功能是将参数中的十进制数以十六进制方式输出(编程思路参考第6讲课件例子)。在主函数输入一个十进制整数,然后调用dec2hex()输出对应的十六进制数。 3、定义一个递归函数intsum_of_square(int n),计算表达式:12+22+32+…+n2的值。在主函数中输入n值,通过调用sum_of_square() 输出结果。

大连理工c语言第五次上机作业参考答案

第五次上机作业:(请用指针实现) 1.数据移位 有n(n<=10)个整数,使前面各数顺序向后移m(m<=n)个位置,最后m 个数变成最前面的m个数,如图所示。编写函数shift(a,n,m)实现上述功能,在主函数中输入n个整数和输出调整后的n个数。 SAMPLE OUTPUT Input n(n<=10):10 Input 10 integers:1 2 3 4 5 6 7 8 9 10 Output the original:1 2 3 4 5 6 7 8 9 10 Input m(m<=10):4 Output the shifted:7 8 9 10 1 2 3 4 5 6 #include #define N 10 void shift(int a[ ],int n,int m); void main( ) { int i,n,m; int a[N]; printf("Input n(n<=10):"); scanf("%d",&n); printf("Input %d integers:\n",n); for(i=0;i=0;j--) a[j+1]=a[j]; a[0]=t; } } n

c语言作业答案

No.: Name: 第1讲C语言概述 注:本系列习题中符号表示一串字符中的空格,符号表示下划线,符号ê表示换行回车,即键盘上Enter键。 一、选择题 1. 一个C程序的执行是从A 。 A) 本程序main函数开始,到main函数结束 B) 本程序文件第一个函数开始,到最后一个函数结束 C) 本程序文件第一个函数开始,到本main函数结束 D) 本程序main函数开始,到本程序文件最后一个函 数结束 2. 以下叙述不正确的是D 。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 3. 以下叙述正确的是C 。 A) 在对一个C程序进行编译的过程中,可发现注释中 的拼写错误 B) 在C程序中,main函数必须位于程序的最前面 C) 语言本身没有输入输出语句 D) C程序的每行中只能写一条语句 4. 一个C语言程序是由B 。 A) 一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成 5. 以下叙述中正确的是C 。 A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为 语言的表达形式 D) C语言出现的最晚,具有其他语言的一切优点 6. 下列叙述中正确的是D 。 A) C语言编译时不检查语法 B) C语言的子程序有过程和函数两种 C) C语言的函数可以嵌套定义 D) C语言的函数可以嵌套调用 7. 以下叙述中正确的是A 。 A) 构成C程序的基本单位是函数 B) 可以在一个函数中定义另一个函数 C) main函数必须放在其他函数之前 D) 所有被调用的函数一定要在调用之前进行定义

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

相关文档
最新文档