关键词不能为空

当前您在: 主页 > 高中公式大全 >

契税的公式C语言程序设计答案 张小东

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-09-12 12:25
tags:海伦公式

长春理工大学是几本-天津商业学院



习题答案
第二章
1. (1)1 (2)10 20 0 (3)0 90 80 70 60 50 40 30 20 1 (4)4 55 99 (5)1 (6)67 G
2. (1)C (2)B (3)A (4)C (5)B (6)C


3.1
(1) 没有输出结果,无限循环
(2) 8 5 2
(3) x<0 x3.2
(1) D
(2) D
(3) C
(4) B
3.3
(1)
#include

main(void){
int i=1;
while(i<101)
{
printf((i%5)?(
i++;
}
}
(2)
#include

main(void){
int i,j;
for(i=0;i<7;i++)










{
if (i<4){





for(j=3-i;j>0;j--)
printf(
for(j=0;j<(2*i+1);j++)
printf(
}
else{
for(j=i-3;j>0;j--)
printf(
for(j=13-2*i;j>0;j--)
printf(
}
printf(
}
}

或者
#include
main(void){
int i,j;
for(i=0;i<4;i++)















{
for(j=3-i;j>0;j--)


printf(
for(j=0;j<(2*i+1);j++)
printf(
printf(
}
for(i=3;i>0;i--)
{




for(j=0;j<(3-i)+1;j++)
printf(
for(j=0;j<(2*i-1);j++)
printf(
printf(
}
}
(3)
#include
main(void)
{
int i,j,k;
for(i=1;i<9;i++)
for(j=0;j<9;j++)
for(k=0;k<9;k++)
if((i*i*i+j*j*j+k*k*k)==(i*100+j*10+k))
printf(
}
或者
main(void)
{
int i,j,k,n;
printf(
for(n=100;n<1000;n++)
{
i=n100;*分解出百位*
j=n10%10;*分解出十位*
k=n%10;*分解出个位*




}
printf(
}
(4)
#include
int main ()
{





int i_rows;
char c_str;


* 打印字符的行数*
*每次打印的字符*
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{

}
printf(
for(i_rows=0;i_rows<7;i_rows++){
for(c_str='G'-i_rows;c_str>('G'-7);c_str--)
printf(
printf(


}
}
(5)
1.程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果 n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你
n,重复执行第 一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
2.程序源代码:
#include
main(void){
int n,i;
printf(
scanf(
printf(
for(i=2;i<=n;i++){





while(n!=i){




if(n%i==0){


}
printf(
n=ni;
else
break;
}
}
printf(
}

3.4
(1)
scanf函数执行时以回车符作为输入的结束标志,故回车字符已经进入输入缓冲区 。当循环
在此执行的时候,从输入缓冲区中读入是前次输入的回车符号,而不是当前键盘的输入符号。
(2)
这是由逻辑表达式i<3&& iFlag=(87569 != iPwd) 的运 算顺序决定的,从程序的执行看,当
第三次执行输入操作时,应该是循环的第四次执行,即此时i=4, 故i<3的条件为假,由于
“与”运算符的性质,这时整个表达式i<3&& iFlag=(87569 != iPwd) 的值为假,因此
iFlag=(87569 != iPwd)表达式没有被执行到,故iFlag的值为1,所以输出结果为“over the times
and the password you input is error!”。



4.1 选择题。
1、D 2、C 3、B 4、A 5、A
4.2 阅读下面的程序,写出程序运行结果。
1、 3
2、 x=93
3、 27
4、 7
15

25
5、 s=20
4.3 编程题。
(1)亲密数)若正整数A的所有因子(包括1但不包括自身)之和为B, 而B的因子(包
括1但不包括自身)之和为A,则称A和B为一对亲密数。编写一个函数求n以内的所有
亲密数。

#include

void funfind(int p);

void main()
{




}

void funfind(int p)
{












}


(2)(回文素数)所谓一个回文素 数是指对一个整数n从左向右和从右向左读其结果值相同
且是素数。求不超过1000的回文素数。要求 用函数调用实现。

#include

int isprime(int n);

void main()
{








int i,j,k,t,s;
printf(不超过1000的回文素数有:n);
for(i=0;i<10;i++)





for(j=0;j<10;j++)




for(k=0;k<10;k++)
{


s=i*100+j*10+k;
t=k*100+j*10+i;
int a,i,b,n;
for(a=1;a {

















}
for(i=1,b=0;i计算a的因子之和b
if(!(a%i))
b+=i;
for(i=1,n=0;i计算b的因子之和n

if(!(b%i))
n+=i;
if(n==a&&a 若n==a,则a,b是一对亲密数
printf(,a,b);
int n;
printf(请输入n(100scanf(,&n);
funfind(n);







}





















}
if(i==0&&j==0)
处理整数前两位为0的情况

t=t100;
else if(i==0)
处理整数的第一位为0的情况

t=t10;
if(s>10&&s==t&&isprime(s))
printf(,s);
int isprime(int n)
判断n是否为素数

{





}

(3)( 哥德巴赫猜想)验证:1000以内的正偶数都能够分解为两个素数之和(即验证哥德
巴赫猜想对100 0以内的正偶数都成立)。

#include
#include
#define N 1000
int isprime(int n);

void main()
{








}

int isprime(int n)判断n是否为素数
{




int i;
if(n<=1)
return (0);
if(n==2)
int i,n;
for(i=4;i





for(n=2;n if(isprime(n)&&isprime(i-n))




{


}
printf(,i,n,i-n);
break;
int i;
for(i=2;i<(n-1)2;i++)
if(n%i==0)
return (0);
return(1);







}
return (1);
if(n%2==0)
return (0);
for(i=3;i<(int)(sqrt(n)+1);i=i+2)
if(n%i==0)
return (0);
return(1);
< br>(4)(抓交通肇事犯)一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没
有记 住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后
两位数字是相同的 ,但与前两位不同; 丙是数学家,他说:四位的车号刚好是一个整数的
平方。请根据以上线索定义一个函数求出车号。

#include

void f(void)
{
int i,j,k,c;









}

for(i=1;i<=9;i++) *i:车号前二位的取值*








for(j=0;j<=9;j++) *j:车号后二位的取值*







if(i!=j) *判断二位数字是否相异*
{
k=i*1000+i*100+j*10+j; *计算出可能的整数*
for(c=31;c*c

}


if(c*c==k)
printf(,k); *若是,打印结果*
void main()
{

}
f();

(5)(海伦公式)编写程序计算下列公式中的V的值,用带参数的宏来编程。
area=
s(s?a)(s?b)(s?c)

其中s=
(a?b?c)2
, a、b、c为三角形的三边。

#include
#include

#define s (a+b+c)2
#define area(s) s*(s-a)*(s-b)*(s-c)

void main()
{
float a,b,c;






}



第五章 1
#include
main()
{
int i, j, row, column, m;
static int array[3][3] =
{
{100, 200, 300},
{28, 72, -30},
{-850, 2, 6}
};
m = array[0][0];
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
if ((array[i][j]) < m)
{
m = array[i][j];
row = i;
column = j;
}
printf(
}

2.
#include
#include
main()
{
printf(请输入三角形三边的边长:);
scanf(,&a,&b,&c);
if(fabs(a-b)c)
printf(三角形的面积为:%.2fn,sqrt(area(s)));
else
printf(输入的三边不能构成三角形n);

int i;
char str[10], temp[10];
gets(temp);
for (i = 0; i < 4; i++)
{
gets(str);
if (strcmp(temp, str) < 0)
strcpy(temp, str);
}
printf(
}

7.1选择题
1 2 3
A A A

7.2填空题
4, 8
(2)参考答案:
DDBBCC
7.3编程题
(1)参考答案:
struct student_type
{ char no[15]; * 学号 *
int math, chinese, english, total,average; * 三门课成绩、总分、平均分 *
};
main()
{ struct student_type stu[3], temp;
int i, j, k;
for(i=0; i<3; i++)
{ printf(请输入学生的学号,数学、语文、英语成绩: n
scanf(
&stu[i].chinese, &stu[i].english);
stu[i].total = stu[i].math + stu[i].chinese + stu[i].english;
stu[i].average = stu[i].total3;
}
for(i=0; i<3-1; i++)
{ k = i;
for(j=i+1; j<3; j++) if( stu[k].total if( k != i )
{ temp = stu[i];
stu[i] = stu[k];
4
A
5
A
6
B
7
B
8
B
9
B
10
B
(1)参考答案:
stu[k] = temp;
}
}
printf(学号数学语文
英语总分平均分
for(i=0; i<3; i++)
printf(
stu[i].english, stu[i].total, stu[i].average );
}
运行结果:
请输入学生的学号,数学、语文、英语成绩:
00101509 66 75 64
请输入学生的学号,数学、语文、英语成绩:
00101510 96 83 84
请输入学生的学号,数学、语文、英语成绩:
00101525 61 65 71
学号 数学 语文 英语 总分 平均分
00101510 96 83 84 263 87
00101509 66 75 64 205 68
00101525 61 65 71 197 65
(2)参考答案:
main()
{ struct
{ unsigned year, month, day;
} x;
int maxday[]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, n;
do
{ printf(请输入年 月 日:
scanf(
if (==2)
if((%4==0 && %100!=0) || ( %400==0)) maxday[2]=29;
}while (<0 || <1 || >12
|| <1 || >maxday[]);
for(i=1, n=0; i<; i++)
n += maxday[i];
n +=
printf(年%d月%d日是该年的第%d天。n

}
运行结果:
请输入年 月 日:1999 5 26
1999年5月26日是该年的第146天。
(3)参考答案:
main()
{ union
{ unsigned long k;
unsigned a[2];
} u;
u.k = 0xef3d6ab9;
printf(
}
运行结果:
6ab9, ef3d
(4) 参考答案:
enum money { fen1, fen2, fen5, jiao1, jiao2, jiao5, yuan1, yuan2, yuan5,
yuan10, yuan20, yuan50, yuan100 };


参考答案:
8.1 选择题答案
(1)C (2)D

8.2 填空题答案
(1)答案
1245008,1245008
1245008,1245008
1245024,1245024
5,5
6,6
1245008,1

(2)答案:a[1][2]=7;

(3)答案:13431

(4)答案:5

(5)答案:40

8.3 编程题:
1.参考答案
#include
void main()
{
int i,k,m,n,num[50],*p;
printf(请输入人数数量:
scanf(
p=num;
for(i=0;i*(p+i)=i+1; 以1至17为序给每个人编号
i=0; i为每次循环时的计数变量
k=0; k为按1,2,3报数时的计数变量
m=0; m为退出人数
while(m{
if(*(p+i)!=0)
k++;
if(k==3)对退出的人的编号置0
{
*(p+i)=0;
k=0;
m++;
}
i++;
if(i==n)报数到尾后,i恢复0
i=0;
}
while(*p==0)
p++;
printf(最后留下来的第%d个人n
}
8.4 答案:
1.参考答案:
(1)求4*4的二维数组的最大值;
(2)max和 n 均为整形变量;max 的作用是记录二维数组中的最大值,n的作用是记录数
组中最大值的个数;
(3)均为int类型;它们之间没有联系;

2.参考答案:
(1)s1、s2、s3、s4均属地址传递;
(2)在函数fc()内;
(3)整个程序运行期间为变量r的生存周期,因为其是静态变量;
(4)将会出现溢出的情况;
(5)连接两个字符串,将两个字符串合并成一个;

8.5 分析题
1. 参考答案:
在程序1中:i是一个局部变量,只在定义它的 函数内有效,因此,在此函数内i值改变时,
并不改变其他函数内的i值;每个函数内的i值控制每次输 出五个星号。
在程序2中,i是一个全局变量,在整个程序范围内均有效,因此在一个函数中改变i值 的
时候,i值在其它函数内也会跟着变化。




练习与思考
9.1 填空题
假设在程序中有这样一些语句:
#include
FILE *fp1, *fp2;
char ch, str[100];
int nNumRead=-1;
fp1 = fopen(
9

fp2 = fopen(
并且,假设两个文件都被成功打开,请完成下面代码的空格部分:
a) ch = fgetc(__fp1__); * 读取文件中字符 *
b) fprintf(__fp2__, ch__); * 把ch写入文件中 *
c) fclose(__fp2__); * 关闭文件 *
d) while(!__feof(fp1)__)fscanf(fp1, __”%c”__, __&ch__); * 依次读入文件中所
有字符 *
e) nNumRead = fread(__str__,__sizeof(char)__, 1, fp1);
f) fseek(fp1, __0L__, __SEEK_END2__); * 将文件内部读写位置指针定位到文件尾*
9.2 选择题




(1) fscanf()函数的正确调用形式为( B )。
(A) fscanf(fp, 格式字符串, 读入变量列表);
(B) fscanf(文件指针, 格式字符串, 读入变量列表);
(C) fscanf(格式字符串, 文件指针, 读入变量列表); (D) fscanf(格式字符串, 读
入变量列表, fp);
(2) 已知函数的调用形式:fread(buffer, size, count, fp); 其中buffer代表的是( C )。
(A) 一个整型变量,代表要读入的数据项总数 (B) 一个文件指针,指向要读入
的文件
(C) 一个指针,指向要存放读入数据的地址
数据项

(D) 一个存储区,存放要读入的
(3) 以下可作为函数fopen中的第一参数的是( D )。
(A) c: (B) c: (C) (D)

(4) 若执行fopen函数发生错误,则函数的返回值是( B )。
(A) 地址值 (B) NULL (C) 1





(5) 函数调用语句:fseek(fp, -10L, 2);的功能是( B )。
(A) 将文件内部读写位置指针移到离当前位置10个字节处
(B) 将文件内部读写位置指针移到文件尾前面10个字节处


(C) 将文件内部读写位置指针移到文件头后面10个字节处
(D) 将文件内部读写位置指针移到文件尾后面10个字节处
(D) EOF
9.3 编程题
(1) 修改本章中程序清单9-3中StringWriteAndRead.c,使之只用打开文件 和关闭文件各
1次。
程序清单 3-1 NewStringReadAndWrite.c

*
purpose: Write and read string for file
author: Zhang Weigang
created: 20081001 10:36:28
*
#include
#include
#include

int main(void)
{


















FILE *fp;
char str[81], strNew[81], *pCh;
int nResult, nLen;

fp = fopen(, );

if (NULL== fp)
{


}
* 创建文件并打开 *

printf();
exit(-1);
printf();
gets(str);
nLen = strlen(str);
if(EOF == nResult)
{


printf();
exit(-1);











* 获取键盘输入字符串 *

* 计算字符串长度 *

* 把字符串写入文件中 *
nResult = fputs(str, fp);




*

}
printf();

fseek(fp, 0L, SEEK_SET);
* 文件内部读写位置指针重新定位到文件头

pCh = fgets(strNew, nLen+1, fp);
if(NULL == pCh)
{


}
printf();
exit(-1);
* 输出字符串到屏幕,此处也可把pCh替换成








strNew *


* 从文件中读取字符串 *

puts(pCh);

fclose(fp);

return 0;



}


(2) 编写一个文件复制程序,要求从命令行参数中直接获取源文件名和目的文件名。
程序清单 3-2 FileCopy.c

*
purpose: Copy a file
author: Zhang Weigang
created: 20081001 10:49:32
*
#include
#include

int main(int argc, char *argv[])
{











FILE *fpSource, *fpDest;
char ch;
int nNum=0;


* 判断命令行参数输入是否正确 *
if(argc != 3)
{



}

printf();
printf();
exit(-1);




























}

fpSource = fopen(argv[1], );
* 打开复制源文件 *

if (NULL== fpSource)
{
printf();
exit(-1);
}
fpDest = fopen(argv[2], );
if (NULL== fpDest)
{


}
ch = fgetc(fpSource);
while(!feof(fpSource))
{



}
printf(, nNum);
printf();
fclose(fpSource);
fclose(fpDest);

return 0;


* 关闭文件 *


* 创建并打开复制目标文件 *

printf();
exit(-1);









* 从源文件中读入字符 *

* 判断当前读入字符是否为文件结束符 *

* 把当前字符写入到目标文件中 *

* 统计复制字节数 *





fputc(ch, fpDest);
nNum++;
ch = fgetc(fpSource);
(3) 通过命令行参数给定2个文件的文件名,要求把第二 个文件的内容原封不动的写入
到第一个文件的尾部,并且不能破坏第一个文件原有数据。
程序清单 3-3 FileCat.c

*
purpose: Append a file to another file
author: Zhang Weigang
created: 20081001 11:29:42
*
#include
#include

int main(int argc, char *argv[])
{









































}
fpSource = fopen(argv[2], );
* 以只读方式打开第二个文件 *

if (NULL== fpSource)
{
printf();

}
exit(-1);
if(argc != 3)
{



}

fpDest = fopen(argv[1], );
if (NULL== fpDest)
{


}

* 以追加读写方式打开第一个文件 *

FILE *fpSource, *fpDest;
char ch;
int nNum=0;

printf();

* 判断命令行参数输入是否正确 *

printf();
printf();
exit(-1);
printf();
exit(-1);
ch = fgetc(fpSource);
while(!feof(fpSource))
{



fputc(ch, fpDest);








* 从源文件中读入字符 *

* 判断当前读入字符是否为文件结束符 *

* 把当前字符写入到目标文件中 *

* 统计追加字节数 *





nNum++;
ch = fgetc(fpSource);
}
printf(, nNum);
printf();
fclose(fpDest);
fclose(fpSource);

return 0;

* 关闭文件 *



(4) 给定一文本文件和一个字符,要求编程实现把该文件中包含有此指定字符的所有数
据行 打印出来并按原有样式写入到一个新的文本文件中保存起来。
程序清单 3-4 CharSearch.c

*
purpose: Search a character in a file
author: Zhang Weigang
created: 20081002 09:58:42
*
#include
#include

*
功能: 从文件中读取一行字符,存放到指定内存区域
参数: 文件指针fp,字符指针buffer
返回值:返回所读取的文件行的字符数
*
int readLine(FILE *fp, char *buffer)
{










}

*
功能: 在字符串中查找指定字符
参数: 字符ch,字符指针buffer
返回值:若字符串中存在该字符,则返回1;否则返回0
*
char character;
int i=0;
do
{
character = fgetc(fp);


buffer[i]=character;
++i;





* 从文件中读取单个字符 *

* 字符存放到缓冲区中 *

* 计数 *

* 遇到换行符或文件结束符停止循环 *

* 给buffer添加空字符构成字符串 *

* 返回所读取的字符数 *



}while (character!='n'&& !feof(fp));
buffer[i-1]='0';
return (i-1);
int search(char ch, char *buffer)
{





int i = 0, result = 0;
while('0' != *(buffer+i))
{


if(ch == *(buffer+i))
{

* 遇空字符停止循环 *







}




}
result = 1;
break;
}
i++;
return result;

int main(void)
{

































FILE *fpSearch, *fpSave;
char ch, filename[50], savename[50], buffer[500];
int nNum=0, line=0;

printf();
ch = getchar();
* 输入指定字符 *

getchar();
printf();
gets(filename);
gets(savename);





* 消除脏回车符影响 *

* 输入文件名 *

* 输入要另存为的文件名 *

printf();

fpSearch = fopen(filename, );
if (NULL== fpSearch)
{


printf();
exit(-1);

}
fpSave = fopen(savename, );
if (NULL== fpSave)
{


}
printf();
exit(-1);

while(1)
{






nNum = readLine(fpSearch, buffer);
if(0 == nNum)
break;
* 读取文件内的一行字符 *

* 若所读取的字符数为0,则说明已无文
件行可读,停止循环 *
else
{
line++;














}








if(search(ch, buffer))
{




}

* 在字符串中查找指定字符 *



所包含字符数 *





}
printf(, line, nNum);
* 输出行号和
printf(, buffer);
fputs(buffer, fpSave);
fputc('n', fpSave);


* 输出所读取的文件行字符串 *

* 把所读取的文件行字符串写入到另存
* 输出换行符到另存为的文件中 *

为的文件只能够 *

}
printf();
fclose(fpSearch);
fclose(fpSave);

return 0;

* 关闭文件 *



(5) 编程统计一个文本文件中所包含的字母、数字和其他字符的个数。
程序清单 3-5 Stat.c

*
purpose: Static character numbers in a file
author: Zhang Weigang
created: 20081002 11:38:02
*
#include
#include

int main(void)
{












FILE *fp;
char ch, filename[50];
int nCharNum=0, nDigitalNum=0, nOtherNum=0;

printf();
gets(filename);
fp = fopen(filename, );
if (NULL== fp)
{


}
printf();
exit(-1);



* 输入文件名 *





















}
do
{
ch = fgetc(fp);
* 读取文件中字符 *

if((ch >= 'a' && ch <= 'z')||(ch >= 'A' && ch <= 'Z'))
* 字母 *






nCharNum++;




* 数字 *

* 其他字符 *

else if((ch >= '0' && ch <= '9'))
nDigitalNum++;
else
nOtherNum++;

}while(!feof(fp));
printf();
* 输出结果 *

printf(, filename);
printf(, nCharNum);
printf(, nDigitalNum);
printf(, nOtherNum);
fclose(fp);
return 0;

* 关闭文件 *



(6) 某个文本文件包含了若干家庭的所有家庭成员的 年龄,其中同一个家庭所有成员的
年龄都位于同一行,由单个空格分隔,家庭成员数不固定。例如,下面 的数据
51 49 24
36 35 7 3
25 25
描述了三个 家庭的成员年龄,其中第1个家庭有成员3个,第2个家庭有成员4个,第
3个家庭有成员2个。编写一 个程序,计算并输出用这种文件表示的每个家庭所有成员的平
均年龄。
提示:在文本文件中, 回车换行符用
‘n’
表示。应该一行一行的从文件中读出数据进行
处理。

程序清单 3-6 Average.c

*
purpose: Calculate the average age for a file line
author: Zhang Weigang
created: 20081002 11:48:36
*
#include
#include
#include

*
功能: 从文件中读取一行字符,存放到指定内存区域
参数: 文件指针fp,字符指针buffer
返回值:返回所读取的文件行的字符数
*
int readLine(FILE *fp, char *buffer)
{










}

*
功能: 全数字字符串转换为整数
参数: 字符串长度len,字符指针str
返回值:返回转换所得的整数
*
char character;
int i=0;
do
{



character = fgetc(fp);
buffer[i]=character;
++i;








* 从文件中读取单个字符 *

* 字符存放到缓冲区中 *

* 计数 *

* 遇到换行符或文件结束符停止循环 *

* 给buffer添加空字符构成字符串 *

* 返回所读取的字符数 *

}while (character!='n'&& !feof(fp));
buffer[i-1]='0';
return (i-1);
int str2int(int len, char *str)
{






}

*
功能: 从字符串中得到所有年龄值并计算平均年龄值
参数: 字符指针buffer
返回值:返回平均年龄值
*
int i, num=0;
for(i=0; i num += (*(str+i) - '0')*(int)pow(10, len-i-1);

return num;
float average(char *buffer)
{



int i=0, j;
int sum=0, num=0;
char tmp[10];



子串 *

float result = 0.0;

while(1)
{















j=0;
do
{


tmp[j] = *(buffer+i);
j++;

* 依据空格字符把字符串分割成只包含数字的












*

i++;
}while(' '!=*(buffer+i) && '0' != *(buffer+i));
tmp[j]='0';

num++;
sum += str2int(j, tmp);

if('0' == *(buffer+i))
break;
i++;

* 计算平均年龄值 *





* 统计家庭成员数 *

* 把数字字串转换成整数并进行年龄值累加









}

* 遇空字符停止循环 *

}
result = (float)sumnum;
printf(, num, sum);
return result;

int main(int argc, char *argv[])
{














FILE *fp;
char buffer[100];
int nNum=0, line=0;

if(argc != 2)
{



}

fp = fopen(argv[1], );
if (NULL== fp)
{



* 通过命令行参数获取文件名 *


* 判断命令行参数输入是否正确 *

printf();
printf();
exit(-1);














串 *








}


}
printf();
exit(-1);
while(1)
{










}
nNum = readLine(fp, buffer);
if(0 == nNum)

else
{




}


* 关闭文件 *


* 读取文件内的一行字符 *

* 若所读取的字符数为0,则说明已无文件行可

读,停止循环 *
break;
line++;
* 行号 *

printf(, line, buffer);
* 输出行号和文件当前行字符
*
printf(, average(buffer));
printf();
输出平均年龄值 *
fclose(fp);
return 0;


9.4 改错题
(1) 下面的程序有哪些错误?怎样改正?
int main(void) {
int *fp;






}

答案:① int *fp; → FILE *fp; ② fopen(“file”); → fopen(“file”, “w+”);
④ fclose(“file”); → ③ fputs(fp, “Beijing 2008”); → fputs( “Beijing 2008”, fp);
fclose(fp);

int k;
fp = fopen(
for(k=0; k<30; k++)
fputs(fp,
fclose(
return 0;
(2) 下面 的程序代码可能会出错,请找出这个错误来并改在。该段代码的功能是把文件
中的所有小写字母替换成对 应的大写字母。
#include
int main(void) {
FILE *fp;













}
char ch;
fp = fopen(
if(NULL != fp) {
while(fread(&ch, sizeof(char), 1, fp) == 1 && !feof(fp)) {






}





}
if(ch >= 'a' && ch <= 'z') {



}
ch -= 32;
fseek(fp, -1L, SEEK_CUR);
fwrite(&ch, sizeof(char), 1, fp);
fclose(fp);
return 0;
提示:对于打开的同一个文件,在读写操作相继进行时,必须在两个操作之间插入
fse ek()
函数的调用。

答案:在fwrite语句后插入语句fseek(fp, 0L, SEEK_CUR);

什么专业最热门-中央戏剧学院官网


铜与稀硝酸-春夏秋冬的句子短一点


那个补习学校好-尝试做某事


昭明文选作者-做什么生意一年可以赚三十万


土建类专业-东北帅哥


光合作用方程式-诗成泣鬼神


happy的副词形式-内蒙教育考试院


名词修饰名词-初次见面请多关照日语



本文更新与2020-09-12 12:25,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/392868.html

C语言程序设计答案 张小东的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文