C语言练习材料(2014)及选择题解答

发布时间 : 星期五 文章C语言练习材料(2014)及选择题解答更新完毕开始阅读

C语言补充材料(2014.6)

getch(); } 2) 打开程序cprog592.c,完成函数

int fun(int a[N], int b[N]), 实现: 逐一比较数组a和b中对应位置上的元素(即:a[0]与b[0], a[1]与b[1],?), 分别统计a中大于、等于和小于b中对应位置元素的个数。若大于的个数比小于的个数多,函数的返回值为1, 若小于的个数比大于的个数多,函数返回值为-1, 否则函数返回值为0。 #include #include #define N 10

int fun(int a[N],int b[N]) { /**/

/**/ }

void main() { int a[N]={45,12,47,86,9,2,43,18,100,20}; int

b[N]={51,32,47,16,7,12,33,18,99,21}; switch(fun(a,b))

{ case 1:printf(\array b.\

case 0:printf(\a is equal to array b.\

case -1:printf(\a is smaller than array b.\ }

printf(\ getch(); }??

3) 打开程序cprog601.c,对double fun(float x)的函数编程,使其计

算:

fun(x)?ex?0.7cosx?1.52 例如:fun(0.450)=0.359 #include #include #include

double fun(float x) { /**/

/**/ }

void main() { float x;

printf(\ scanf(\

printf(\ getch(); }

4) 打开程序cprog602.c,完成函数fun(char *str, char arr[ ]), 实现:

将str所指字符串中下标为奇数且ASCII码值为偶数的字符依次放入数组arr中。

例如, str所指字符串为”AbCdEegH”, 则数组arr的内容则为”bdH”。 #include #include

void fun(char *str,char arr[]) { /**/

/**/ }

17

void main()

{ char str[100],arr[100];

printf(\ scanf(\ fun(str,arr);

printf(\ getch(); }??

5) 打开程序cprog611.c,对double fun(float x)的函数编程,使其计算:

?1.63x?1.27x?1fun(x)???1.5x?1 ??sin(x?1.05)x?1#include #include #include

double fun(float x) { /**/

/**/ }

void main()

{ printf(\ printf(\ printf(\ getch(); }

6) 打开程序cprog612.c,完成函数fun(int a, int b),实现:

将两位正整数a、b合并成一个数存在c中。合并的规则是:将a的十位数和个位数依次放在c的百位数和十位数,b的十位和个位数依次放在c的个位数和千位数。并将c作为函数值返回。 如:a=36, b=41, 则合并后c=1364 #include #include

int fun(int a,int b) { /**/

/**/ }

void main() { int a,b,c; do

{ printf(\

scanf(\ }while((a<10||a>=100) || (b<10||b>=100)); c=fun(a,b);

printf(\ getch(); }??

7) 打开程序cprog621.c,对double fun(float x)的函数编程,使其计算:

?x2?1.5?0.7x?3fun(x)????3x?3 ???11.3?x2x?3#include #include #include

double fun(float x) { /**/

/**/ }

void main()

{ printf(\ printf(\

printf(\

18

C语言补充材料(2014.6)

getch(); }

8) 打开程序cprog622.c完成函数fun(int n),根据以下公式计算前n项之和并返回。 (1?n?20)

10?1?21?2?32?3?58a(n?1)an3?5?5?8??aa?(n?2)?(n?1)a(n?1)?an其中,an?an?2?an?1

如:n=6, sum=4.126 #include #include #define N 20 float fun(int n) { /**/

/**/ }

void main() { int n;

float sum; do

{ printf(\ scanf(\ }while(n<1 || n>20); sum=fun(n);

printf(\ getch(); }

9) 打开程序cprog631.c,对double fun(float x,float y)的函数编程,使其计算:

?x?yx?yfun(x,y)???0x?y ??x?yx?y#include

#include

double fun(float x,float y) { /**/

/**/ }

void main() { float x,y;

printf(\ scanf(\ printf(\= %.3lf\\n\ getch(); }

10) 打开程序cprog632.c,完成函数fun(int a[N][N],int k), 将二维数组a左上半三角(含对角线)各元素的值加上k。

?123?如:数组a为??456?

? , 若k=5,

??789???67则a变为?8??9106??

??1289??#include #include #define N 3

void fun(int a[N][N],int k) { /**/

/**/ }

19

void main() { int a[N][N] = {{1,2,3},{4,5,6},{7,8,9}}; int k,i,j;

printf(\ for(i=0; i

for(j=0;j

printf(\ printf(\ }

printf(\ scanf(\ fun(a,k);

printf(\ for(i=0; i

for(j=0;j

printf(\ printf(\ }

getch(); }

20

C语言补充材料(2014.6)

参考答案

选择题

1~10)B B B A A A A C A D 11~20)C D B A D D A A A A 21~30)D C A B C A C A C A 31~40)B D B A C C C C B B 41~50)B A A DB C D A C D 51~60) C D B A B B C D D C 61~70) A C A A B D B D D C 71~80) D D B D C 81~90) A D D B D 91~99) D A A B A C B D D B C C D D B D B A D

21

联系合同范文客服:xxxxx#qq.com(#替换为@)