齊齊哈爾大學(xué)C語言題庫程序設(shè)計(jì)部分.doc
/*-383.【程序設(shè)計(jì)】-題目: 用輾轉(zhuǎn)相除法求兩個(gè)整數(shù)的最大公約數(shù)。-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù) main和其它函數(shù)中的任何內(nèi)容,僅在函 數(shù)gcd的花括號(hào)中填入所編寫的若干語句。-*/#include<stdio.h>int gcd(int n,int m)/*Program*/int r,t;if(n<m)t=n;n=m;m=t;r=n%m;while(r!=0)n=m;m=r;r=n%m;return(m);/* End */main() int n,m,result; clrscr(); scanf("%d%d",&n,&m); result=gcd(n,m); printf("the gcd is %dn",result); yzj(); getch(); yzj()FILE *IN,*OUT;int m,n;int i2;int o;IN=fopen("in.dat","r");if(IN=NULL)printf("Read File Error");OUT=fopen("out.dat","w");if(OUT=NULL)printf("Write File Error");for(n=0;n<6;n+) for(m=0;m<2;m+) fscanf(IN,"%d",&im); o=gcd(i0,i1); fprintf(OUT,"%dn",o);fclose(IN);fclose(OUT);/*-362.【程序設(shè)計(jì)】-題目:下列程序中,函數(shù)fun的功能是:實(shí)現(xiàn)兩個(gè) 整數(shù)的交換。 例如給a和b分別輸入:60和65,輸出為: a=65 b=60-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main 和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花 括號(hào)中填入所編寫的若干語句。-*/#include<stdio.h>#include<conio.h>void fun(int *a,int *b)/*Program*/int t;t=*a;*a=*b;*b=t;/* End */ main() int a,b; clrscr(); printf("Enter a,b:");scanf("%d%d",&a,&b); fun(&a,&b); printf("a=%d b=%dn",a,b); yzj(); getch();yzj()FILE *IN,*OUT;int a,b,n;IN=fopen("in.dat","r");if(IN=NULL)printf("Read File Error");OUT=fopen("out.dat","w");if(OUT=NULL)printf("Write File Error");for(n=0;n<5;n+) fscanf(IN,"%d%d",&a,&b); fun(&a,&b); fprintf(OUT,"a=%d b=%dn",a,b);fclose(IN);fclose(OUT);/*-62.【程序設(shè)計(jì)】-題目:編寫函數(shù)fun,函數(shù)的功能是:找出一批正整數(shù)中 的最大的偶數(shù)。-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其 它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填 入所編寫的若干語句。-*/#include "stdio.h"int fun(int a,int n)/*Program*/int i,amax=-1;for(i=0;i<n;i+)if(ai%2=0)if(ai>amax)amax=ai;return amax;/* End */main()int a=1,2,9,24,35,18,k;k=fun(a,6);printf("max=%dn",k);yzj();yzj()FILE *IN,*OUT;int iIN10,iOUT,i,j;IN=fopen("28.in","r");if(IN=NULL)printf("Please Verify The Currernt Dir.It May Be Changed");OUT=fopen("28.out","w");if(OUT=NULL)printf("Please Verify The Current Dir. It May Be Changed");for(j=0;j<10;j+) for(i=0;i<10;i+) fscanf(IN,"%d",&iINi); iOUT=fun(iIN,10); fprintf(OUT,"%dn",iOUT);fclose(IN);fclose(OUT);/*-329.【程序設(shè)計(jì)】-題目:編寫函數(shù)fun其功能是: 求一個(gè)大于10的n位 整數(shù)的后n-1位的數(shù),并作為函數(shù)值返回。-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main 和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花 括號(hào)中填入所編寫的若干語句。-*/#include "stdio.h"#include"conio.h"int fun(int w)/*Program*/int n=0;int i=1;while(w>10)n=n+i*(w%10);w/=10;i*=10;return n;/* End */ main() int m; printf("Enter m: "); scanf("%d", &m); printf("nThe result is %dn", fun(m); yzj(); getch(); yzj()FILE *IN,*OUT; int c ;int t;int o;IN=fopen("in.dat","r");if(IN=NULL)printf("Read File Error");OUT=fopen("out.dat","w");if(OUT=NULL)printf("Write File Error"); for(c=1;c<=5;c+) fscanf(IN,"%d",&t); o=fun(t); fprintf(OUT,"%dn",o); fclose(IN);fclose(OUT);/*-20.【程序設(shè)計(jì)】-題目:編寫函數(shù)fun求一個(gè)字符串的長度,在main函數(shù)中 輸入字符串,并輸出其長度。-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其 它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填 入所編寫的若干語句。-*/#include "stdio.h"int fun(char *p1)/*Program*/char *p;int n=0;p=p1;while(*p+)n+;return n;/* End */main() char *p,a20; int len; p=a; printf("please input a string:n"); gets(p); len=fun(p); printf("The strings length is:%dn",len); yzj();yzj()FILE *IN,*OUT;char *pIN,sIN20;int iOUT,i;pIN=sIN;IN=fopen("3.in","r");if(IN=NULL)printf("Please Verify The Currernt Dir.It May Be Changed");OUT=fopen("3.out","w");if(OUT=NULL)printf("Please Verify The Current Dir. It May Be Changed");for(i=0;i<10;i+) fscanf(IN,"%s",pIN); iOUT=fun(pIN); fprintf(OUT,"%dn",iOUT);fclose(IN);fclose(OUT);/*-326.【程序設(shè)計(jì)】-題目:編寫函數(shù)fun其功能是: 求1到w之間的奇數(shù) 數(shù)之和。(w是100=w=1000的整數(shù))-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main 和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花 括號(hào)中填入所編寫的若干語句。-*/#include "stdio.h"#include"conio.h"long fun(int w)/*Program*/long y=0;int i;for(i=1;i<=w;i+)if(i%2=1)y+=i;return y;/* End */ main() int m; printf("Enter m: "); scanf("%d", &m); printf("nThe result is %ldn", fun(m); yzj(); getch(); yzj()FILE *IN,*OUT; int c ;int t;long o;IN=fopen("in.dat","r");if(IN=NULL)printf("Read File Error");OUT=fopen("out.dat","w");if(OUT=NULL)printf("Write File Error"); for(c=1;c<=5;c+) fscanf(IN,"%d",&t); o=fun(t); fprintf(OUT,"%ldn",o); fclose(IN);fclose(OUT);/*-53.【程序設(shè)計(jì)】-題目:編寫函數(shù)fun,函數(shù)的功能是:求一個(gè)給定字符串 中的字母的個(gè)數(shù)。-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其 它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填 入所編寫的若干語句。-*/#include "stdio.h"int fun(char s)/*Program*/int i,k=0;for(i=0;si!=0;i+)if(si>=a&&si<=z|si>=A&&si<=Z)k+;return k;/* End */main()char str="Best wishes for you!"int k;k=fun(str);printf("k=%dn",k);yzj();yzj()FILE *IN,*OUT;char sIN80;int iOUT,i;IN=fopen("21.in","r");if(IN=NULL)printf("Please Verify The Currernt Dir.It May Be Changed");OUT=fopen("21.out","w");if(OUT=NULL)printf("Please Verify The Current Dir. It May Be Changed");for(i=0;i<10;i+) fscanf(IN,"%s",sIN); iOUT=fun(sIN); fprintf(OUT,"%dn",iOUT);fclose(IN);fclose(OUT);/*-49.【程序設(shè)計(jì)】-題目:編寫函數(shù)fun,函數(shù)的功能是:計(jì)算n門課程的平 均值,計(jì)算結(jié)果作為函數(shù)值返回。 例如,若有5門課程的成績是:92,76,69,58, 88,則函數(shù)的值為76.599998。-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其 它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填 入所編寫的若干語句。-*/#include "stdio.h"float fun(int a,int n)/*Program*/int i;float y=0;for(i=0;i<n;i+)y+=ai;y=y/n;return y;/* End */main()int a=92,76,69,58,88;printf("y=%fn",fun(a,5);yzj();yzj()FILE *IN,*OUT;int iIN10,i,j;float fOUT;IN=fopen("18.in","r");if(IN=NULL)printf("Please Verify The Currernt Dir.It May Be Changed");OUT=fopen("18.out","w");if(OUT=NULL)printf("Please Verify The Current Dir. It May Be Changed"); for(j=0;j<10;j+) for(i=0;i<5;i+) fscanf(IN,"%d",&iINi); fOUT=fun(iIN,5); fprintf(OUT,"%fn",fOUT);fclose(IN);fclose(OUT);/*-330.【程序設(shè)計(jì)】-題目:編寫函數(shù)fun其功能是:能計(jì)算從1開始到n的 自然數(shù)的和,n由鍵盤輸入,并在main()函數(shù) 中輸出。-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main 和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花 括號(hào)中填入所編寫的若干語句。-*/#include "stdio.h"int fun(int n)/*Program*/int sum,i;sum=0;for(i=1;i<=n;i+)sum=sum+i;return (sum);/* End */ main() int m; printf("Enter m: "); scanf("%d", &m); printf("nThe result is %dn", fun(m); yzj(); getch(); yzj()FILE *IN,*OUT;int t;int o; int c;IN=fopen("in.dat","r");if(IN=NULL)printf("Read File Error");OUT=fopen("out.dat","w");if(OUT=NULL)printf("Write File Error"); for(c=1;c<=5;c+) fscanf(IN,"%d",&t); o=fun(t); fprintf(OUT,"%dn",o); fclose(IN);fclose(OUT);/*-16.【程序設(shè)計(jì)】-題目:編寫函數(shù)fun求1!+2!+3!+ +n!的和,在 main函數(shù)中由鍵盤輸入n值,并輸出運(yùn)算結(jié)果。請(qǐng) 編寫fun函數(shù)。 例如:若n值為20,則結(jié)果為268040729。-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其 它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填 入所編寫的若干語句。-*/#include<stdio.h>long fun(int n)/*Program*/int i;long f=1,s=0;for(i=1;i<=n;i+)f=f*i;s=s+f;return s;/* End */main() int i,n; long int result; scanf("%d",&n); result=fun(n); printf("%ldn",result); yzj();yzj()FILE *IN,*OUT;int i;int iIN;long int iOUT;IN=fopen("1.in","r");if(IN=NULL)printf("Please Verify The Currernt Dir.It May Be Changed");OUT=fopen("1.out","w");if(OUT=NULL)printf("Please Verify The Current Dir. It May Be Changed");for(i=0;i<10;i+) fscanf(IN,"%d",&iIN); iOUT=fun(iIN); fprintf(OUT,"%ldn",iOUT);fclose(IN);fclose(OUT);