全国计算机等级考试二级vc 经典100题(程序题)
1.编程题
函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。
例如,若s所指字符串中的内容为“ABCDEFG123456”,其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后,t所指的数组中的内容应是“246”。
注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
注意:不要对main()函数进行改动。
源程序存放在考生文件夹下的pro.C中。
#include
#include
void fun(char *s,char t[])
{
int k,n=0;
for(k=0;k
if(k%2==0 && s[k]%2==0)
t[n++]=s[k];
t[n]= '\0';
}
main()
{
FILE *out;
char s[100],t[100];
printf("\nPlease enter string S:");
scanf("%s", s);
fun(s,t);
printf("\nThe result is: %s\n",t);
out=fopen("out.dat","w");
fputs(t,out);
fclose(out);
}
2..编程题
编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(y)-y=0的一个实根。
yn+1=cos(yn)
迭代步骤如下:
(1)取y1初值为0.0。
(2)y0=y1,把y1的值赋给y0。
(3)y1=cos(y0),求出一个新的y1。
(4)若y0-y1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2)。
(5)所求y1就是方程cos(x)-y=0的一个实根,作为函数值返回。
程序将输出结果Result=0.739085。
注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。
注意:不要对main()函数进行改动。
源程序存放在考生文件夹下的pro.C中。
#include
#include
#include
float fun()
{
float y1=0.0,y0;
do
{
y0=y1;
y1=cos(y0);
}
while(fabs(y0-y1)>=1e-6);
return y1;
}
main()
{
FILE *out;
float cos=fun();
printf("Result=%f\n",cos);
out=fopen("outfile.dat","w");
fprintf(out,"%f",cos);
fclose(out);
}
3.3.编程题
程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N], int n),函数的功能是:使N×N的二维数组左下三角元素中的值乘以n。
例如:若n的值为3,a数组中的值为:
1 9 7
2 3 8
4 5 6
则返回主程序后a数组中的值应为:
3 9 7
6 9 8
12 15 18
注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
注意:不要对main()函数进行改动。
源程序存放在考生文件夹下的pro.C中。
#include
#include
#define N 5
int fun(int a[][N],int n)
{
int j,k;
for(j=0;j
for(k=0;k
a[j][k]*=n;
}
void main()
{
FILE *out;
int a[N][N],n,i,j;
printf("***The array***\n");
for(i=0;i
{
for(j=0;