计算机语言(C)第3阶段练习题
- 格式:doc
- 大小:58.50 KB
- 文档页数:7
c语言计算机三级题目
C语言计算机三级题目通常涉及一些较为复杂的编程问题,包括但不限于数据结构、算法、文件操作等方面的内容。
这些题目旨在考察考生对C语言的熟练程度和对计算机基本原理的理解。
以下是一些可能出现的题目类型:
1. 数据结构和算法,可能涉及链表、树、图等数据结构的实现和相关算法的应用,如排序算法、查找算法等。
2. 文件操作,要求考生能够使用C语言对文件进行读写操作,包括文件的打开、关闭、读取、写入等操作。
3. 内存管理,可能涉及动态内存分配和释放,要求考生能够正确地使用malloc和free等函数。
4. 函数和指针,可能涉及函数的嵌套调用、指针的应用等,要求考生能够熟练地使用函数和指针来完成特定的任务。
5. 综合性问题,可能要求考生设计一个小型的C语言程序,涉及多个方面的知识,考察考生的综合应用能力。
总的来说,C语言计算机三级题目涵盖了C语言的各个方面,考察考生的编程能力、理解能力和解决问题的能力。
考生在备考时需要系统地复习C语言的基础知识,并多做一些相关的编程练习,以便在考试中取得更好的成绩。
习题三参考答案(1)从键盘输入一个年份值,判断是否闰年。
设iYear为某一年份,iYear为闰年的条件为:iYear可以被4整除且不可以被100整除,或者iYear可以被400整除。
#include "Stdio.h"#include "Conio.h"int main(void){int iYear;printf("please input the year:");scanf("%d",&iYear);if(iYear%400==0||(iYear%4==0&&iYear%100!=0))printf("%d is leap",iYear);elseprintf("%d is not leap",iYear);getch();return 0;}(2)从键盘输入三个整数,按由小到大的顺序输出。
#include "stdio.h"main(){int i,j,k,max;scanf("%d%d%d",&i,&j,&k);max=i>j?i:j;max=max>k?max:k;printf("max=%d",max);getch();}(3)假设星期一至星期五每工作一小时的工资是20元,星期六和星期日每工作一小时的工资是平时的3倍,其中工资的4.5%是税金。
试编一程序从键盘输入星期序号(1,2,3,4,5,6,7,分别表示星期一至星期天)和工作小时数,计算该日的工资及应交税金。
#include "Stdio.h"#include "Conio.h"int main(void){int iWeek,iHours ;float fSalary,fTaxes;printf("please input the week number(1-7):");scanf("%d",&iWeek);printf("please input the work hours(1-12):");scanf("%d",&iHours);switch(iWeek){case 1:case 2:case 3:case 4:case 5:fSalary=20*iHours;fTaxes=fSalary*0.045;break;case 6:case 7:fSalary=3*20*iHours;fTaxes=fSalary*0.045;break;}printf("the salary is %f ,the taxes is %f",fSalary,fTaxes);getch();return 0;}(4)从键盘输入三角形的三条边长,判断是否构成三角形,如能则求出三角形的周长和面积并输出;如不能,输出不能构成三角形的信息。
C程序设计(第三版)课后习题参考解答第1章C语言概述1.5 参照本章例题,编写一个C程序,输出以下信息:******************************Very Good!******************************解:main ( ){printf(“****************************** \n”);printf(“\n”);printf(“Very Good! \n”);printf(“\n”);printf(“****************************** \n”);}1.6 写一个程序,输入a,b,c三个值,输出其中最大者。
解:main ( ){int a,b,c,max;printf(“请输入三个数a,b,c: \n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf(“最大数为:%d ”,max);}第2章程序的灵魂——算法2.1 什么叫结构化的算法?为什么要提倡结构化的算法?解:由一些基本结构顺序组成的算法称为结构化的算法。
由于在基本结构之间不存在非顺序的跳转,流程的转移只存在于一个基本结构范围之内,因而提高了算法的质量。
2.7 什么叫结构化程序设计?它的主要内容是什么?解:结构化程序就是用高级语言表示的结构化算法。
它的主要内容包括“自顶向下,逐步细化”的分析方法和“模块化设计”的解决方法,以及“结构化编码”的实现方法。
第3章数据类型、运算符与表达式3.4将以下三各整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。
注:如果没有学过二进制和补码,此题可以不做。
解:各数据在内存中的存储形式如下表所示:它是一个负数的补码,对其再求一次补码可得其真值,即-(65536-32769)=-32767。
2024年9月GESP编程能力认证C++等级考试三级真题试卷(含答案)一、单选题(每题2分,共30分)。
1.下列代码中,输出结果是()。
#include<iostream>using namespace std;int main(){double a=0.9;double b=1.0;if(((b-a)==0.1)){cout<<"Equal"<<endl;}else{cout<<"Not equal"<<endl;}}A.EqualB.Not equalC.程序不能正确执行D.没有输出2.关于计算机中的编码,下列说法中正确的是()。
A.机器数的形式值和真值是一致的B.原码就是符号位加上真值C.机器数是带符号的D.3.题8进制数3703转换成16进制数是()。
A.7C3B.7A3C.7B3D.7D34.题0.8125变成二进制是()。
A.0.1110B.0.1111110111101C.0.1111110111100D.0.11015.下面说法正确的是()。
A.(22&01)==(22&&01)成立B.(23|11)==30C.(23|10)==31D.(23|01)==316.下列说法正确的是()。
A.2>>1和1>>1的值是一样的B.(2>>2)和(1>>1)的值是一样的C.(11^00)和(1^0)的值是一样的D.(~0的输出值是1)7.下列代码实现的是()。
void Swap(int&a,int&b){if(a!=b){a^=b;b^=a;a^=b;}}A.a和b的异或B.a和b的同或C.a和b的值交换D.a和b的高低位互换8.题a&~1运算实现的是()。
A.使a的最低位为1B.使a的最高位为1C.使a的最低位为0D.使a的最高位为09.题a=10101110,a<<2,下面关于这个说法正确的是()。
2024年3月GESP编程能力认证C++三级真题(含答案)一、单选题(每题2分,共30分)。
1.整数-5的16位补码表示是()。
A. 1005B. 1006C. FFFAD. FFFB2.如果16位短整数-2的二进制是"FFFE",则短整数-4的十六进制是()。
A. FF04B. FFFAC. FFFCD. FFFH3.下面C++代码执行后的输出是()。
int main(){cout <<(3|16)<< endl;cout << endl;return 0;}A. 3B. 16C. 19D. 484.定义整数int x=-5,则执行C++代码cout <<(x ==(x<<1>>1))输出是()。
A. 0B. 1C. -5D. 55.已知字符'0'的ASCII编码的十进制表示为48,则执行下面C++代码后,输出是()。
int main(){string s="316";int n=s.length();int x=0;for(int i =0;i < n;i++)x +=s[i];cout << x << endl;cout << endl;return 0;}A. 10B. 58C. 154D. 3166.下面C++代码执行后数组中大于0的数的特征是()。
int main(){int a[20],i;for(i =0;i < 20;i++)a[i]=i+1;for(int i =0;i < 20;i++)if((a[i]%2)&&(a[i]%3))a[i]=0;for(i =0;i < 20;i++)if(a[i])cout << a[i]<< " ";cout << endl;return 0;}A. 2的倍数B. 3的倍数C. 能被2或3整除的数D. 能被2和3同时整除的数7.执行下面C++代码后输出的第一个数是()。
计算机程序设计员三级操作题 -回复一、简介作为一名计算机程序设计员,解决各种操作题是我们日常工作的一部分。
这些操作题旨在考验我们对编程语言和算法的掌握程度。
本文将为大家介绍一道计算机程序设计员三级操作题,并给出解题思路和具体实现代码。
二、题目描述给定一个字符串s,将其按照单词顺序逆序输出,每个单词之间用一个空格隔开。
要求不使用任何库函数或额外的数据结构,并且可以原地修改字符串。
三、解题思路1. 首先,我们需要将整个字符串s进行逆序操作。
可以通过交换字符串的头尾字符来实现,使用两个指针分别指向字符串的头部和尾部,交换它们所指向的字符,并依次向中间移动指针,直到指针相遇。
2. 接下来,我们需要将每个单词按照逆序输出。
可以使用一个指针start来记录每个单词的起始位置,然后使用另一个指针end来遍历字符串,当遇到空格或到达字符串末尾时,将start和end之间的字符进行逆序操作。
3. 最后,我们需要将每个单词之间的空格去除,只保留一个空格。
可以使用一个指针index来记录当前要填充的位置,当遇到连续的空格时,只将一个空格填入,否则将非空格字符填入。
四、具体实现```pythondef reverseWords(s):# 逆序字符串s = reverseString(s)# 逆序每个单词start = 0end = 0while end < len(s):if s[end] == ' ':s = reverseString(s, start, end - 1)start = end + 1end += 1s = reverseString(s, start, end - 1)# 去除多余的空格index = 0for i in range(len(s)):if s[i] == ' ':if i > 0 and s[i - 1] == ' ':continues[index] = s[i]index += 1s = s[:index]return sdef reverseString(s, start=0, end=None):if end is None:end = len(s) - 1while start < end:s[start], s[end] = s[end], s[start]start += 1end -= 1return s```五、总结本文介绍了一道计算机程序设计员三级操作题,要求将字符串按照单词顺序逆序输出,并给出了解题思路和具体实现代码。
2024年3月青少年软件编程C语言等级考试试卷三级真题分数:100 题数:5一、编程题(共5题,共100分)1.我家的门牌号我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。
若所有的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。
数据保证有唯一解。
时间限制:1000内存限制:65536输入一个正整数n。
n < 100000。
输出一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。
样例输入样例输出试题编号:20240323-3-01试题类型:编程题标准答案:试题难度:一般试题解析:展示地址:点击浏览考生答案:#include<iostream>using namespace std;int main(){int a;cin>>a;for(int i=1;i<100000;i++){for(int j=1;j<=i;j++){if((i+1)*i/2-j*2==a){cout<<j<<' '<<i;return 0;}}}}考生得分:20是否评分:已评分评价描述:2.最接近的分数分母不超过N 且小于A/B 的最大最简分数是多少?时间限制:10000内存限制:65536输入三个正整数N,A,B,相邻两个数之间用单个空格隔开。
1 <= A < B < N <= 1000。
输出两个正整数,分别是所求分数的分子和分母,中间用单个空格隔开。
样例输入样例输出试题编号:20240323-3-02试题类型:编程题标准答案:试题难度:一般试题解析:展示地址:点击浏览考生答案:(此题已作答)考生得分:0是否评分:已评分评价描述:3.菲波那契数列菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数a,要求菲波那契数列中第a个数对10000取模的结果是多少。
2024年6月青少年软件编程C语言等级考试试卷三级真题分数:100 题数:51.谷歌的招聘(20分)。
2004年7月,谷歌在硅谷的101号公路边竖立了一块巨大的广告牌用于招聘。
内容超级简单,就是一个以结尾的网址,而前面的网址是一个10位素数,这个素数是自然常数e中最早出现的10位连续数字。
能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。
自然常数e是一个著名的超越数,前面若干位写出来是这样的:其中粗体标出的10位数就是答案。
本题要求你编程解决一个更通用的问题:从任一给定的长度为L的数字中,找出最早出现的K位连续数字所组成的素数。
输入:输入在第一行给出2个正整数,分别是L(不超过1000的正整数,为数字长度)和K(小于10的正整数)。
接下来一行给出一个长度为L的正整数N。
输出:在一行中输出N中最早出现的K位连续数字所组成的素数。
如果这样的素数不存在,则输出“404”。
注意,原始数字中的前导零也计算在位数之内。
例如在200236中找4位素数,0023算是解;但第一位2不能被当成0002输出,因为在原始数字中不存在这个2的前导零。
2.吉利矩阵(20分)。
所有元素为非负整数,且各行各列的元素和都等于7的3x3方阵称为“吉利矩阵”,因为这样的矩阵一共有666种。
本题就请你统计一下,把7换成任何一个[2,9]区间内的正整数L,把矩阵阶数换成任何一个[2,4]区间内的正整数N,满足条件“所有元素为非负整数,且各行各列的元素和都等于L”的NxN方阵一共有多少种?输入:输入在一行中给出2个正整数L和N,意义如题面所述。
数字间以空格分隔。
输出:在一行中输出满足题目要求条件的方阵的个数。
3.胖达与盆盆奶(20分)。
大熊猫,俗称“胖达”,会排队吃盆盆奶。
它们能和谐吃奶的前提,是它们认为盆盆奶的分配是“公平”的,即:更胖的胖达能吃到更多的奶,等胖的胖达得吃到一样多的奶。
另一方面,因为它们是排好队的,所以每只胖达只能看到身边胖达的奶有多少,如果觉得不公平就会抢旁边小伙伴的奶吃。
2023年9月青少年软件编程C语言等级考试试卷三级(含答案)分数:100题数:5一、编程题(共5题,共100分)第1题.谁是你的潜在朋友“臭味相投”——这是我们描述朋友时喜欢用的词汇。
两个人是朋友通常意味着他们存在着许多共同的兴趣。
然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。
幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。
首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。
同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。
你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友。
时间限制:1000内存限制:65536输入第一行两个整数N,M,2<=N,M<=200。
接下来有N行,第i(i=1,2,…,N)行每一行有一个数,表示读者i-1最喜欢的图书的编号P(1<=P<=M)输出包括N行,每行一个数,第i行的数表示读者i有几个潜在朋友。
如果i和任何人都没有共同喜欢的书,则输出“BeiJu”(即悲剧,^^)样例输入452321样例输出1BeiJu1BeiJu参考答案:#include<iostream>using namespace std;int a[10000],ans,c;int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(a[i]==a[j]){ans++;}}if(ans>1){cout<<ans-1<<endl;}else{cout<<"BeiJu"<<endl;}ans=0;}return0;}第2题.课程冲突小A修了n门课程,第i门课程是从第ai天一直上到第bi天。
三级c语言机试题及答案三级C语言机试题及答案1. 以下哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/答案:A2. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 以下哪个选项是C语言中正确的字符串声明方式?A. char str[] = "Hello World";B. char str[] = 'Hello World';C. char str[] = {"Hello World"};D. char str[] = "Hello World";答案:A4. 在C语言中,以下哪个函数用于将字符串转换成浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B5. 以下哪个选项是C语言中正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[5] = {0};C. int arr[5] = {0, 1, 2};D. int arr[5] = {0, 1, 2, 3};答案:A6. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. funcD. int答案:D7. 以下哪个选项是C语言中正确的文件包含指令?A. #include "stdio.h"B. include "stdio.h"C. #import "stdio.h"D. #include <stdio.h>答案:D8. 在C语言中,以下哪个运算符用于执行按位与操作?A. &&B. &&C. &D. ||答案:C9. 以下哪个选项是C语言中正确的单行if语句?A. if (x > y) x = y;B. if (x > y) { x = y; }C. if (x > y) x = y; else y = x;D. if (x > y) { x = y; } else { y = x; }答案:A10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C。
江南大学现代远程教育第三阶段练习题及答案考试科目:《计算机语言(C)》第10章至第13章(总分100分)学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一、选择题(每题2分,共30分)1. 若已定义a为int型变量,则对指针p的说明和初始化正确的是()。
A.int *p=a;B.int p=a;C.int *p=*a;D.int *p=&a;2. 设P是指向A的指针,Y为整型量,A=5,A的地址为FE03;B=6,B的地址为FE04;下列语句分别执行的结果是( )。
1)Y=*&A; 2)Y=*P++; 3)Y=&++A; 4)Y=*++PA.1)Y=4; 2)Y=4; 3)Y=FE05; 4)Y=7B.1)Y=7; 2)Y=7; 3)Y=FE02; 4)Y=4C.1)Y=6; 2)Y=6; 3)Y=FE03; 4)Y=5D.1)Y=5; 2)Y=5; 3)Y=FE04; 4)Y=63.下列程序段的执行结果是()。
static int a[]={5,3,7,2,1,5,4,10};int s=0,k;for(k=0;k<8;k+=2)s+=*(a+k);printf("%d ",s);A.12B.18C.15D.174.关于指针概念不正确的说法是()。
A.一个指针变量只能指向同一个类型的变量B.一个变量的地址称为该变量的指针C.只有同一类型变量的地址才能放到指向该类型变量的指针变量之中D.指针变量可以由整数赋值,不能用浮点数赋值5.若有说明int (*p)[3];则以下()是正确的叙述。
A.p是一个指针数组B.(*p)[3]与*p[3]等价C.p是一个指针,它可以指向一个一维数组中任一元素D.p是一个指针,它只能指向一个包含3个int类型的一维数组6.下面对结构数据类型的叙述中,()是错的。
A.结构变量可以在说明结构类型后定义,也可在说明结构时定义B.结构可由若干个成员组成,各成员的数据类型可以不同C.定义一个结构类型后,编译程序要为结构的各成员分配存储空间D.结构变量的各成员可通过结构变量名和指向结构变量的指针引用7.若px为指针变量名,y为变量名,则y=*px++;等价于()。
A.y=*px;px++;B.y=(*px)++;C.y=px;px++;D.y=*(px++);8.设有说明:int I, *p=&I,要实现I的内容加10,则下面语句()是错的。
A.*p=*&I+10;B.i=*p+10;C.*p=*p+10;D.*p=&I+10;9.说明语句enum money{Fen,Jiao,Yuan=100,Tenyuan};每个枚举量所对应的实际值为:()。
A.0,1,100,101B.1,2,100,101C.“Fen"或1,"Jiao"或2,"Yuan"或100,"Tenyuan"或101.D.“Fen","Jiao","Yuan","Tenyuan".10. 设有说明:struct{char name[15],sex;int age;float score;}stu,*p=&stu;以下不能正确输入结构体成员值的是( )。
A. scanf(”%c”,&p->sex);B. scanf(”%s”,);C. scanf(”%d”,&stu.age);D. scanf(”% f”,p->score);11.若要用fopen函数打开一个新的二进制文件,该文件要即能读也能写,则文件打开的方式应是()。
A.〝ab+〞B. 〝wb+〞C.〝rb+〞D.〝ab〞12.fwrite函数的一般调用形式是()。
A. fwrite(buffer,count,size,fp)B. fwrite(fp,size,count,buffer)C. fwrite(fp,count,size,buffer)D. fwrite(buffer,size,count,fp)13.关闭文件函数fclose(fp)的作用是()。
A.不再为fp指向的文件分配内存空间;B.将fp指向的文件存入磁盘;C.释放指定文件所占据的内存空间和文件指针;D.将指定文件封闭在某一内存区域。
14. 下列有关C语言文件的说法正确的是( )。
A.C语言文件是由记录组成B.C语言文件被看作是一个字符(字节)的序列,称为流式文件C.C语言有专门的文件操作命令D.以上说法都不正确15. 语句( )能正确完成赋字符串的功能。
A. char s[4];s[0]=“string”;B. char *s;get(s);C. char *s[]=“string”;D. char *s;strcpy(s,“string”);二、填空题(每空3分,共45分)1. C程序中,文件可以用方式存取,也可以用方式存取。
2. C程序中,数据可以用和两种代码形式存放。
3.结构体变量所占的内存长度为。
4.设有以下说明与语句:static int a[3][2]={1,2,3,4,5,6};int (*p)[2];. . .p=a;则*(*(a+2)+1)的值为,*(*(p+1)+1)的值为。
5. 下面程序用变量count统计文件letter.dat中字符的个数。
#include”stdio.h”main(){ FILE *fp; long count=0;if((fp= )==NULL){ printf(“can not open this file\n”); exit(0);}while(!feof(fp)){ ;if((c>=’a’ && c<=’z’) || (c>=’A’ && c<=’Z’));}printf(“count=%ld\n”,count); fclose(fp);}6. 下面的函数用于比较两个给出的C字符串。
按比较结果,函数将返回下列函数值:若: s1=s2 返回0s1<s2 返回负值s1>s2 返回正值[程序]scmp(char *s1,char *s2){while(*s1)if( )return( );else{s1++;s2++;}return( );}7.下面程序的运行结果是。
#include”string.h”main(){ char *p1, *p2,str[50]=”ABCDEFG”;p1=”abcd”; p2=”efgh”strcpy(str+1,p2+1); strcpy(str+3,p1+3);printf(“%s”,str);}8. 下面程序的运行结果是。
#include<stdio.h>main(){ char *str="ABCabcd";bubble(str,5);printf("\n%s",str);}bubble(char *str,int count){ int i,j=count;char tmp;while(j-->1)for(i=0;i<j;i++)if(str[i]<str[i+1]){ tmp=str[i]; str[i]=str[i+1]; str[i+1]=tmp; }}三、编程题(共25分)1.编写一个函数fun(char *s,char *t),其功能是:将S所指字符串中ASCII值为奇数的字符删除,s中剩余的字符形成一个新串放在t所指的数组中。
(10分)2.在本地磁盘上建立文件data1.dat,随机写入10个大写字母和10个小写字母,然后将其中的大写字母转换成小写字母,小写字母转换成大写字母后仍保存在该文件中。
(15分)附:参考答案:二、填空题(每空3分,共45分)1. 顺序随机2. 二进制 ASCII3. 所有成员占用内存的总和4. 6 45. fopen(“letter.dat”,“r”) fscanf(fp,”%c”,&c)或c=fgetc(fp) count++6. *s1-*s2 *s1-*s2 07. Afgd8. baCBAcd三、编程题(共25分)1.#include <stdio.h>#include <string.h>fun (char *s,char *t ){ int i,j=0;for(i=0;i<strlen(s);i++)if( (s[i]%2==0))t[j++]=s[i];t[j]='\0';}main( ){ char str[50],tt[30];scanf("%s",str);fun(str,tt);printf("%s",tt);}2.#include "stdio.h"#include "string.h"#include "stdlib.h"void writefile(char fname[]){ FILE *fp;int i;char ch;if((fp=fopen(fname,"w"))==NULL){ printf("error in write!\n");exit(0);}randomize();printf("The init file is :");for(i=0;i<10;i++){ ch=65+random(26);fputc(ch,fp); putchar(ch);}for(i=0;i<10;i++){ ch=97+random(26);fputc(ch,fp); putchar(ch);}fclose(fp);putchar('\n');}void change(char fname[]){ FILE *fp1,*fp2;char ch;if((fp1=fopen(fname,"r"))==NULL){ printf("error in read!\n");exit(0);}if((fp2=fopen("d:\\temp.txt","w"))==NULL) { printf("error in temp write!\n");exit(0);}while((ch=fgetc(fp1))!=EOF){if(ch>='A' && ch<='Z')ch=ch+32;else if(ch>='a' && ch<='z')ch=ch-32;fputc(ch,fp2);}fclose(fp1); fclose(fp2);if((fp1=fopen(fname,"w"))==NULL){ printf("error in write!\n");exit(0);}if((fp2=fopen("d:\\temp.txt","r"))==NULL){ printf("error in temp write!\n");exit(0);}printf("The result file is :");while((ch=fgetc(fp2))!=EOF){ fputc(ch,fp1); putchar(ch); }fclose(fp1); fclose(fp2); putchar('\n'); }void main(){ char f_name[20];clrscr();strcpy(f_name,"d:\\data1.dat");writefile(f_name);printf("init success!\n");change(f_name);printf("change success!\n");}。