《《计算机程序设计基础》(c语言)程序设计题(习题六-习题十一)参考程序》由会员分享,可在线阅读,更多相关《《计算机程序设计基础》(c语言)程序设计题(习题六-习题十一)参考程序(39页珍藏版)》请在金锄头文库上搜索。
1、计算机程序设计基础计算机程序设计基础(C(C 语言语言) )程序设计题程序设计题( (6 6- -1111) )参考程序参考程序 习题习题六六程序设计题程序设计题 /1参考程序 #include void main() char c; FILE *p; if(p=fopen(“data.txt“,“w“)=NULL) printf(“创建 data.txt 文件失败!n“); return; while(c=getchar()!=#) fputc(c,p); fclose(p); /2参考程序 #include void main() char c; FILE *p; if(p=fopen(“
2、data.txt“,“r“)=NULL) printf(“打开 data.txt 文件失败!n“); return; c=fgetc(p); while(c!=EOF) putchar(c); c=fgetc(p); fclose(p); printf(“n“); /3参考程序 #include #include void main() FILE *p; double x,sinv; if(p=fopen(“data.txt“,“w“)=NULL) printf(“打开/创建文件失败!n“); return; for(x=0;x void main() FILE *p1,*p2,*p3; ch
3、ar c1,c2; if(p1=fopen(“f1.txt“,“r“)=NULL) printf(“打开 f1.txt 文件失败!n“); return; if(p2=fopen(“f2.txt“,“r“)=NULL) printf(“打开 f2.txt 文件失败!n“); return; if(p3=fopen(“f3.txt“,“w“)=NULL) printf(“打开/创建 f3.txt 文件失败!n“); return; c1=fgetc(p1);/依次在两个文件中取出数据按升序方式写入 f3 文件 c2=fgetc(p2); while(c1!=EOF char c; if(p=fo
4、pen(“data.txt“,“w“)=NULL) printf(“创建文件失败!n“); return; while(c=getchar()!=EOF) if(c=a char c; if(f1=fopen(“f1.txt“,“a“)=NULL) printf(“打开文件 f1.txt 失败n“); return; if(f2=fopen(“f2.txt“,“r“)=NULL) printf(“打开文件 f2.txt 失败n“); return; while(c=fgetc(f2)!=EOF) fputc(c,f1); fclose(f1); fclose(f2); /6参考程序 #incl
5、ude void main() FILE *fp; char c,fname20;/fname 用于存放被处理的文件名 printf(“?fname:“); scanf(“%s“,fname); if(fp=fopen(fname,“r+“)=NULL) printf(“打开文件%s 失败!n“,fname); return; while(c=fgetc(fp)!=EOF) if(c=a FILE *fp; int aNM,i; char fname20;/fname 用于存放被处理的文件名 makearr(a); printf(“?fname:“); scanf(“%s“,fname); i
6、f(fp=fopen(fname,“wb“)=NULL) printf(“打开/创建文件%s 失败!n“,fname); return; for(i=0;i #define N 5 #define M 8 void main() void printarr(int vM); FILE *fp; int aNM,i; char fname20; printf(“?fname:“); scanf(“%s“,fname); if(fp=fopen(fname,“rb“)=NULL) printf(“打开文件%s 失败!n“,fname); return; for(i=0;i #include #in
7、clude #define N 5 #define M 8 void sort(int v,int n,int flg); void makearr(int vM); void main() FILE *fp; int aNM,i; char fname20; makearr(a); printf(“?fname:“); scanf(“%s“,fname); if(fp=fopen(fname,“wb“)=NULL) printf(“打开/创建文件%s 失败!n“,fname); return; for(i=0;i #define N 5 #define M 8 void main() voi
8、d printarr(int v,int n,int flg); FILE *fp; int aNM,i; char fname20; printf(“?fname:“); scanf(“%s“,fname); if(fp=fopen(fname,“rb“)=NULL) printf(“打开文件%s 失败!n“,fname); return; fread(a,sizeof(int),N*M,fp); fclose(fp); for(i=0;i int *count(); void main() int i; for(i=0;i double *max(double x,double y); v
9、oid main() double a,b; scanf(“%lf,%lf“, printf(“max=%lfn“,*max(a,b); double *max(double x,double y) static double m; m=xy?x:y; return /3参考程序 #include int *pow(int x); void main() int a=1,2,3,4,5,6,b6; int i; for(i=0;i %3dn“,ai,bi); printf(“n“); int *pow(int x) static int y; y=x*x; return /4参考程序 #inc
10、lude #include int gcd(int x,int y); void main() int *a,*b; a=(int *)malloc(sizeof(int); b=(int *)malloc(sizeof(int); scanf(“%d,%d“,a,b); printf(“GCD=%dn“,gcd(*a,*b); int gcd(int x,int y) int r; r=x%y; if(r=0) return y; else return gcd(y,r); /5参考程序 #include #include #define ESP 1e-7 double root(doubl
11、e p(double x),double pd(double x),double x); double f1(double x); double f1d(double x); double f2(double x); double f2d(double x); void main() printf(“%lfn“,root(f1,f1d,3); printf(“%lfn“,root(f2,f2d,0); double root(double p(double x),double pd(double x),double x) while(fabs(p(x)ESP) x=x-p(x)/pd(x);
12、return x; double f1(double x) return 2*x*x*x-4*x*x+3*x-6; double f1d(double x) return 6*x*x-8*x+3; double f2(double x) return x*x*x*x-4*x*x*x+6*x*x-8*x-8; double f2d(double x) return 4*x*x*x-12*x*x+12*x-8; /6参考程序 #include #include #define ESP 1e-7 double root(double (*p)(double x),double (*pd)(doubl
13、e x),double x); double f1(double x); double f1d(double x); double f2(double x); double f2d(double x); void main() printf(“%lfn“,root(f1,f1d,3); printf(“%lfn“,root(f2,f2d,0); double root(double (*p)(double x),double (*pd)(double x),double x) while(fabs(*p)(x)ESP) x=x-(*p)(x)/(*pd)(x); return x; doubl
14、e f1(double x) return 2*x*x*x-4*x*x+3*x-6; double f1d(double x) return 6*x*x-8*x+3; double f2(double x) return x*x*x*x-4*x*x*x+6*x*x-8*x-8; double f2d(double x) return 4*x*x*x-12*x*x+12*x-8; /7参考程序 #include #include #define ESP 1e-7 double root(double (*p)(double x),double a,double b); double f1(dou
15、ble x); double f2(double x); void main() printf(“%lfn“,root(f1,-10,10); printf(“%lfn“,root(f2,-0.6,0); double root(double (*p)(double x),double a,double b) double x; x=(a*(*p)(b)-b*(*p)(a)/(*p)(b)-(*p)(a); if(fabs(*p)(x) double collect(double p(double x),double a,double b,int n); double f1(double x); double f2(double x); void main() double y1,y2; int n; printf(