当前位置:首页 > 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
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
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
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
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
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
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
/**/ }
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
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
共分享92篇相关文档