编程c语言.doc_第1页
编程c语言.doc_第2页
编程c语言.doc_第3页
编程c语言.doc_第4页
编程c语言.doc_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include #define M 4int fun (int aM)main( ) int arr2M=5,8,3,45,76,-4,12,82 ;void NONO (); printf(max =%dn, fun(arr) ; NONO( ) ;void NONO ()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *wf ; int arrM=5,8,3,90,76,-4,12,82 ; wf = fopen(out.dat,w) ; fprintf(wf, max=%dn, fun(arr) ; fclose(wf) ;【参考答案】int fun (int aM)int i,j,max=a00; for(i=0;i2;i+) for(j=0;jM;j+) if(maxaij) max=aij; return max;2、#include #include double fun ( double eps)main( ) double x;void NONO (); printf(Input eps:) ; scanf(%lf,&x); printf(neps = %lf, PI=%lfn, x, fun(x); NONO();void NONO ()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; int i ; double x ; fp = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i =eps) /*当某项大于精度要求时,继续求下一项*/ s1=s1*n/(2*n+1); /*求多项式的每一项*/ s=s+s1; /*求和*/ n+; return 2*s;3、#include void fun (int *a, int *n)main( ) int aa1000, n, k ; void NONO ( ); fun ( aa, &n ) ; for ( k = 0 ; k n ; k+ ) if(k + 1) % 10 = 0) printf(n) ; else printf(%5d, aak) ; NONO( );void NONO ( )/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ int aa1000, n, k ; FILE *fp ; fp = fopen(out.dat,w) ; fun ( aa, &n ) ; for ( k = 0 ; k n ; k+ ) if(k + 1) % 10 = 0) fprintf(fp, n) ; else fprintf(fp, %5d, aak) ; fclose(fp) ;【参考答案】void fun (int *a, int *n)int i,j=0; for(i=1;i=1000;i+) /*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a中*/ if(i%7=0|i%11=0)&i%77!=0) aj+=i; *n=j; 4、#include void fun( char *a )main() char s81; void NONO ( ); printf(Enter a string:n);gets(s); fun( s ); printf(The string after deleted:n);puts(s); NONO();void NONO()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in, *out ; int i ; char s81 ; in = fopen(in.dat,r) ; out = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(in, %s, s) ; fun(s) ; fprintf(out, %sn, s) ; fclose(in) ; fclose(out) ;【参考答案】void fun( char *a )int i,j=0; for(i=0;ai!=0;i+) if(ai!=*) aj+=ai; /*若不是要删除的字符*则留下*/ aj=0;5、#include void fun(char p1, char p2)main() char s180, s240 ;void NONO (); printf(Enter s1 and s2:n) ; scanf(%s%s, s1, s2) ; printf(s1=%sn, s1) ; printf(s2=%sn, s2) ; printf(Invoke fun(s1,s2):n) ; fun(s1, s2) ; printf(After invoking:n) ; printf(%sn, s1) ; NONO() ;void NONO ()/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ int i ; FILE *rf, *wf ; char s180, s240 ; rf = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %s, s1) ; fscanf(rf, %s, s2) ; fun(s1, s2) ; fprintf(wf, %sn, s1) ; fclose(rf) ; fclose(wf) ;【参考答案】void fun(char p1, char p2)int i,j; for(i=0;p1i!=0;i+) ; for(j=0;p2j!=0;j+) p1i+=p2j; p1i=0;6、#include #define N 8typedef struct char num10; double sN; double ave; STREC;void fun(STREC *a)main() STREC s=GA005,85.5,76,69.5,85,91,72,64.5,87.5; int i; void NONO ( ); fun( &s ); printf(The %ss student data:n, s.num); for(i=0;iN; i+) printf(%4.1fn,s.si); printf(nave=%7.3fn,s.ave); NONO();void NONO()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *out ; int i,j ; STREC s10 = GA005,85.5,76,69.5,85,91,72,64.5,87.5, GA001,82.5,66,76.5,76,89,76,46.5,78.5, GA002,72.5,56,66.5,66,79,68,46.5,58.5, GA003,92.5,76,86.5,86,99,86,56.5,88.5, GA004,82,66.5,46.5,56,76,75,76.5,63.5, GA006,75.5,74,71.5,85,81,79,64.5,71.5, GA007,92.5,61,72.5,84,79,75,66.5,72.5, GA008,72.5,86,73.5,80,69,63,76.5,53.5, GA009,66.5,71,74.5,70,61,82,86.5,58.5, GA010,76,66.5,75.5,60,76,71,96.5,93.5,; out = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fun(&si) ; fprintf(out, %7.3fn, si.ave) ; fclose(out) ;【参考答案】oid fun(STREC *a) double ave=0.0; int i; for(i=0;iave=a-ave+a-si; /*求各门成绩的总和*/ a-ave/=N; /*求平均分*/7、#include #include #define N 8struct slist double s; struct slist *next;typedef struct slist STREC;double fun( STREC *h )STREC * creat( double *s) STREC *h,*p,*q; int i=0; h=p=(STREC*)malloc(sizeof(STREC);p-s=0; while(is=si; i+; p-next=q; p=q; p-next=0; return h;outlist( STREC *h) STREC *p; p=h-next; printf(head); do printf(-%4.1f,p-s);p=p-next; while(p!=0); printf(nn);main() double sN=85,76,69,85,91,72,64,87,ave; void NONO ( ); STREC *h; h=creat( s ); outlist(h); ave=fun( h ); printf(ave= %6.3fn,ave); NONO();void NONO()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in, *out ; int i,j ; double sN,ave; STREC *h ; in = fopen(in.dat,r) ; out = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) for(j=0 ; j next; while(p!=NULL) ave=ave+p-s; p=p-next; return ave/N;8、#include void fun( int m, int *k, int xx )main() int m, n, zz100; void NONO ( ); printf( nPlease enter an integer number between 10 and 100: ); scanf( %d, &n ); fun( n, &m, zz ); printf( nnThere are %d non-prime numbers less than %d:, m, n ); for( n = 0; n m; n+ ) printf( n %4d, zzn ); NONO();void NONO()/* 请在此函数内打开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。 */ int m, n, zz100; FILE *rf, *wf ; rf = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; fscanf( rf, %d, &n ); fun( n, &m, zz ); fprintf(wf, %dn%dn, m, n ); for( n = 0; n m; n+ ) fprintf(wf, %dn, zzn ); fclose(rf) ; fclose(wf) ;【参考答案】void fun( int m, int *k, int xx )int i,j,n=0;for(i=4;im;i+) /*找出大于1小于整数m的非素数*/for(j=2;ji;j+)if(i%j=0) break;if(ji) xxn+=i;*k=n; /*返回非素数的个数*/9、#include #include #define M 81int fun(char *ss, char c)main() char aM, ch; void NONO ( ); printf(nPlease enter a string:); gets(a); printf(nPlease enter a char:); ch = getchar(); printf(nThe number of the char is: %dn, fun(a, ch); NONO ( );void NONO ( )/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ int i ; FILE *rf, *wf ; char aM, bM, ch ; rf = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %s, a) ; fscanf(rf, %s, b) ; ch = *b ; fprintf(wf, %c=%dn, ch, fun(a, ch) ; fclose(rf) ; fclose(wf) ;【参考答案】int fun(char *ss, char c)int i=0; for(;*ss!=0;ss+) if(*ss=c) i+;/*求出ss所指字符串中指定字符的个数*/ return i;10、#include float fun ( float *a , int n )main() float score30=90.5, 72, 80, 61.5, 55, aver; void NONO ( ); aver = fun( score, 5 ); printf( nAverage score is: %5.2fn, aver); NONO ( );void NONO ( )/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; int i, j ; float aver, score5 ; fp = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) for(j = 0 ; j 5 ; j+) fscanf(fp,%f,&scorej) ; aver = fun(score, 5) ; fprintf(wf, %5.2fn, aver) ; fclose(fp) ; fclose(wf) ;【参考答案】float fun ( float *a , int n )int i;float av=0.0; for(i=0; in;i+) /*求分数的总和*/av=av+ai; return(av/n);/*返回平均值*/11、#include #define N 16typedef struct char num10; int s; STREC;int fun( STREC *a, STREC *b )main() STREC sN=GA05,85,GA03,76,GA02,69,GA04,85,GA01,91,GA07,72,GA08,64,GA06,87,GA015,85,GA013,91,GA012,64,GA014,91,GA011,77,GA017,64,GA018,64,GA016,72; STREC hN; int i,n;FILE *out ; n=fun( s,h ); printf(The %d highest score :n,n); for(i=0;in; i+) printf(%s %4dn,hi.num,hi.s); printf(n); out = fopen(out.dat,w) ; fprintf(out, %dn,n); for(i=0;in; i+) fprintf(out, %4dn,hi.s); fclose(out);【参考答案】int fun( STREC *a, STREC *b )int i,j=0,max=a0.s;/*找出最大值*/ for(i=0;iN;i+) if(maxai.s) max=ai.s; for(i=0;iN;i+) if(max=ai.s) bj+=ai; /*找出成绩与max相等的学生的记录,存入结构体b中*/ return j; /*返回最高成绩的学生人数*/12、#include void fun( char *a ) /* 以下代码仅供参考 */ int i=0,k; while(ai=*) i+; k=i; while(ai!=0) /* 以下程序段实现非*字符前移 */ ak=0;main() char s81;void NONO (); printf(Enter a string:n);gets(s); fun( s ); printf(The string after deleted:n);puts(s); NONO();void NONO ()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in, *out ; int i ; char s81 ; in = fopen(in.dat,r) ; out = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(in, %s, s) ; fun(s) ; fprintf(out, %sn, s) ; fclose(in) ; fclose(out) ;【参考答案】void fun( char *a ) int i=0; char *p=a; while(*p&*p=*) ai=*p; i+; p+; while(*p) if(*p!=*) ai=*p;i+; p+; ai=0;13、#include #include void fun(char *tt, int pp)main( ) char aa1000 ; int bb26, k ; void NONO ( ); printf( nPlease enter a char string: ) ; scanf(%s, aa) ; fun(aa, bb ) ; for ( k = 0 ; k 26 ; k+ ) printf (%d , bbk) ; printf( n ) ; NONO ( ) ;void NONO ( )/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ char aa1000 ; int bb26, k, i ; FILE *rf, *wf ; rf = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %s, aa) ; fun(aa, bb) ; for ( k = 0 ; k 26 ; k+ ) fprintf (wf, %d , bbk) ; fprintf(wf, n ) ; fclose(rf) ; fclose(wf) ;【参考答案】void fun(char *tt, int pp)int i; for(i=0;i=a&*tt=z) pp*tt-a+; 14、#include void fun( char *a )main() char s81;void NONO (); printf(Enter a string:n);gets(s); fun( s ); printf(The string after deleted:n);puts(s); NONO();void NONO ()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in, *out ; int i ; char s81 ; in = fopen(in.dat,r) ; out = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(in, %s, s) ; fun(s) ; fprintf(out, %sn, s) ; fclose(in) ; fclose(out) ;【参考答案】void fun( char *a )while(*a!=0) a+; a-;/*指针a指向字符串的尾部*/while(*a=*)a-;/*指针a指向最后一个字母*/*(a+1)=0;/*在字符串最后加上结束标志符*/15、#include char *fun ( char *s, char *t)main ( ) char a20,b20; void NONO ( ); printf(Input 1th string:); gets( a); printf(Input 2th string:); gets( b); printf(%sn,fun (a, b); NONO ();void NONO ( )/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf; int i ; char a20, b20; fp = fopen(in.dat,r); wf = fopen(out.dat,w); for(i = 0 ; i 10 ; i+) fscanf(fp, %s %s, a, b); fprintf(wf, %sn, fun(a, b); fclose(fp); fclose(wf);【参考答案】char *fun ( char *s, char *t)int i,j; for(i=0;si!= 0;i+);/*求字符串的长度*/ for(j=0;tj!= 0;j+); if(i=j) /*比较两个字符串的长度*/ return t; /*函数返回较长的字符串,若两个字符串长度相等,则返回第1个字符串*/ else return s;16、#include #include #define N 16typedef struct char num10; int s; STREC;STREC fun( STREC *a, char *b )main() STREC sN=GA005,85,GA003,76,GA002,69,GA004,85,GA001,91,GA007,72,GA008,64,GA006,87,GA015,85,GA013,91,GA012,64,GA014,91,GA011,77,GA017,64,GA018,64,GA016,72; STREC h; char m10; int i;FILE *out ; printf(The original data:n); for(i=0; iN; i+) if(i%4=0) printf(n); printf(%s %3d ,si.num,si.s); printf(nnEnter the number: );gets(m); h=fun( s,m ); printf(The data : ); printf(n%s %4dn,h.num,h.s); printf(n); out = fopen(out.dat,w) ; h=fun(s,GA013); fprintf(out,%s %4dn,h.num,h.s); fclose(out);【参考答案】STREC fun( STREC *a, char *b )int i; STREC str=0,-1; /*若没找到指定的学号,在结构体变量中给学号置空串,给成绩置1*/ for(i=0;iN;i+) if(strcmp(ai.num,b)=0) /*找到指定学号的学生数据*/strai; str=ai; return str; /*返回学生记录*/17、#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: %dn, 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=%ldn, a, b, c) ; fclose(rf) ; fclose(wf) ;【参考答案】void fun(int a, int b, long *c)*c=b%10+(a/10)*10+(b/10)*100+(a%10)*1000;18、#include #include double fun()main() void NONO ( ); printf(Root =%fn, fun(); NONO();void NONO ( )/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *wf ; wf = fopen(out.dat,w) ; fprintf(wf, %fn, fun() ; fclose(wf) ;【参考答案】double fun()double x0,x1;x1=0.0;dox0=x1;x1=cos(x0);while(fabs(x0-x1)=1e-6);return x1;19、#include void fun( char *a )main() char s81; int n=0; void NONO (); printf(Enter a string:n);gets(s); fun( s ); printf(The string after moveing:n);puts(s); NONO();void NONO ()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in, *out ; int i ; char s81 ; in = fopen(in.dat,r) ; out = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(in, %s, s) ; fun(s) ; fprintf(out, %sn, s) ; fclose(in) ; fclose(out) ;【参考答案】void fun( char *a )int i=0,n=0;char *p;p=a;while (*p=*) /*判断*p是否是*号,并统计*号的个数*/ n+;p+;while(*p) /*将前导*号后的字符传递给a*/ ai=*p;i+;p+;while(n!=0)ai=*;i+;n-;ai=0;20、#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: %ldn, 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=%ldn, a, b, c) ; fclose(rf) ; fclose(wf) ;【参考答案】void fun(int a, int b, long *c)*c=a/10+(b%10)*10+(a%10)*100+(b/10)*1000;21、#include #include double fun( int m )main() void NONO ( ); printf(%fn, fun(20); NONO();void NONO ( )/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; int i, n ; double s ; fp = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(fp, %d, &n) ; s = fun(n) ; fprintf(wf, %fn, s) ; fclose(fp) ; fclose(wf) ;【参考答案】double fun( int m ) int i; double s=0.0; for(i=1;i=m;i+) s=s+log(i); /*计算sln(1)ln(2)ln(3)ln(m)*/ return sqrt(s);/*对s求平方根并返回*/22、#include void fun( char *a, int n,int h,int e )main() char s81,*t,*f; int m=0, tn=0, fn=0;void NONO (); printf(Enter a string:n);gets(s); t=f=s; while(*t)t+;m+; t-; while(*t=*)t-;tn+; while(*f=*)f+;fn+; fun( s , m,fn,tn ); printf(The string after deleted:n);puts(s); NONO();void NONO ()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in, *out ; int i ; char s81, *t, *f ; int m=0, tn=0, fn=0; in = fopen(in.dat,r) ; out = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(in, %s, s) ; t=f=s; m=0; tn=0; fn=0; while(*t)t+;m+; t-; while(*t=*)t-;tn+; whi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论