赞
踩
无忧考网为大家收集整理了《2013计算机二级C语言上机练习题及答案(10)》供大家参考,希望对大家有所帮助!!!
第一题:给定程序功能是用选择排序法对6个字符串进行排序。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
#include
#include
#define MAXLINE 20
fun(char *pstr[6])
{
int i, j;
char *p;
for (i=0; i<5; i++)
for (j=i+1; j<6; j++)
if (strcmp(*(pstr+i), ___1___) > 0)
{
p = *(pstr+i);
pstr[i] = ___2___;
*(pstr + j) = ___3___;
}
}
main()
{
int i;
char *pstr[6], str[6][MAXLINE];
for (i=0; i<6; i++)
pstr[i] = str[i];
printf("\nEnter 6 string(1 string at each line): \n");
for (i=0; i<6; i++)
scanf("%s", pstr[i]);
fun(pstr);
printf("The strings after sorting:\n");
for (i=0; i<6; i++)
printf("%s\n", pstr[i]);
}
参考答案:
第一题:第一空:*(pstr+j)or pstr[j]
第二空:pstr[j] or *(pstr+j)
第三空:p
第二题:下列给定程序中,函数fun 功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数作为函数值返回。规定,函数中a1放个位数,a2放十位数。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
/********found********/
int fun( int *b );
{
int k, a1, a2, i = 0;
/********found********/
for (k=10; k<=55; k++)
{
a2 = k/10;
a1 = k - a2*10;
if ((k%3==0 && a2==5) || (k%3==0 && a1==5))
{
b[i] = k;
i++;
}
}
/********found********/
return k;
}
main()
{
int a[100], k, m;
m = fun(a);
printf("The result is:\n");
for (k=0; k
printf("%4d", a[k]);
printf("\n");
}
参考答案:
第二题:第一处:int fun(int *b);应改为int fun(int *b)
第二处:for(k=10;k<=55;k++)应改为for(k=1;k<55;k++)
第三处:return k;应改为return I;
第三题:编写函数fun,它的功能是:计算并输出下列级数和:
例如,当n=10时,函数值为0。909091。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
#include
double fun( int n )
{
}
main()
{
int i;
FILE *out;
printf("%f\n",fun(10));
out=fopen ("out.dat", "w");
for (i = 5; i < 10; i++)
fprintf(out, "%f\n", fun(i));
fclose (out );
}
参考答案:
第三题:double fun(int n)
{double s=0.0;
int i;
for(i=1;i<=n;i++)
s=s+1.0/(i*(i+1));
rerurn s;
}
2013计算机二级C语言上机练习题及答案(10).doc
下载Word文档到电脑,方便收藏和打印[全文共1559字]
编辑推荐:
下载Word文档
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。