注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
int fun(char *fname)
{FILE *fp; int i,n; float x;
if((fp=fopen(fname, "w"))==NULL) return 0;
for(i=1;i<=10;i++)
/**********found**********/
fprintf(___1___,"%d%f\n",i,sqrt((double)i));
printf("\nSucceed!!\n");
/**********found**********/
___2___;
printf("\nThe data in file :\n");
/**********found**********/
if((fp=fopen(___3___,"r"))==NULL)
return 0;
fscanf(fp,"%d%f",&n,&x);
while(!feof(fp))
{printf("%d %f\n",n,x); fscanf(fp,"%d%f", &n,&x);}
fclose(fp);
return 1;
}
main()
{char fname[]="myfile3.txt";
fun(fname);
}
解题答案:
/**********第一空*********/
fprintf(fp,"%d %f\n",i,sqrt((double)i));
printf("\nSucceed!!\n");
/**********第二空**********/
fclose(fp);
/**********第三空**********/
if((fp=fopen(fname,"r"))==NULL)
****************************************** [NextPage] 二、改错题:给定程序MODI1.C中fun函数的功能是:将n个无序整数从小到大排序。请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
fun (int n, int *a)
{int i, j, p, t;
for (j = 0; j
{p = j;
/************found************/
for (i=j+1; i
if (a[p]>a[i])
/************found************/
t=i;
if (p!=j)
{t = a[j]; a[j] = a[p]; a[p] = t;}
}
}
putarr(int n, int *z)
{int i;
for (i = 1; i <= n; i++, z++)
{printf("M", *z);
if (!(i)) printf("\n");
} printf("\n");
}
main()
{int aa[20]={9,3,0,4,1,2,5,6,8,10,7}, n=11;
printf("\n\nBefore sorting %d numbers:\n", n); putarr(n, aa);
fun(n, aa);
printf("\nAfter sorting %d numbers:\n", n); putarr(n, aa);
}
解题答案:
#include
#include
fun (int n, int *a)
{int i, j, p, t;
for (j = 0; j
{p = j;
/************found************/
for(i=j+1;i
/************found************/
p=i;
******************************************
[NextPage] 三、程序题:函数fun的功能是: 将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是: 将a数的十位和个位数依次放在c数的个位和百位上, b数的十位 和个位数依次放在c数的十位和千位上。
例如, 当a=45, b=12时, 调用该函数后, c=2514。
注意: 部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
void fun(int a, int b, long *c)
{
}
main()
{int a,b; long c;
void NONO ();
printf("Input a, b:");
scanf("%d,%d", &a, &b);
fun(a, b, &c);
printf("The result is: %ld\n", c);
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *rf, *wf ;
int i, a,b ; long c ;
rf = fopen("in.dat", "r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%d,%d", &a, &b);
fun(a, b, &c);
fprintf(wf, "a=%d,b=%d,c=%ld\n", a, b, c);
}
fclose(rf);
fclose(wf);
}
解题答案:
{
*c=(b)*1000+(a)*100+(b/10)*10+a/10;
}
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|