给考二级C的网友:全国二级C语言教材(高等教育出版社)中
2013年10月15日
⁄ 综合
⁄ 共 13800字 ⁄ 字号
小 中 大
- 1.
- #include <stdio.h>
- main()
- {
- int *p,m,n;
- scanf("%d%d",&m,&n);
- if(m>n)
- p=&n;
- else
- p=&m;
- printf("%d/n",*p);
- }
-
- **************************************************************************
- 2.
- #include <stdio.h>
- void order (int *a,int *b);
- main()
- {
- int m,n;
- order(&m,&n);
- printf("%d/n%d/n",m,n);
- }
- void order (int *a,int *b)
- {
- int x,y;
- scanf("%d%d",&x,&y);
- if(x<y)
- {
- *a=x;
- *b=y;
- }
- else
- {
- *a=y;
- *b=x;
- }
- }
-
- **************************************************************************
- 3.
- #include <stdio.h>
- int * max (int *);
- main()
- {
- int x,y;
- y=max(&x);
- printf("%d/n",y);
- }
- int * max (int *a)
- {
- int m,n;
- scanf("%d%d",&m,&n);
- if(m>n)
- *a=m;
- else
- *a=n;
- return *a;
- }
-
- **************************************************************************
- 4.
- #include <stdio.h>
- main()
- {
- int i,j,n=-1,x=0,y=0,a[30];
- for(i=0;i<=29;i++)
- {
- n+=2;
- a[i]=n;
- x++;
- if(x%10!=0)
- printf("%4d",a[i]);
- else
- {
- printf("%4d",a[i]);
- printf("/n");
- }
- }
- printf("/n");
- for(j=29;j>=-1;j--)
- {
- y++;
- if(y%10!=0)
- printf("%4d",a[j]);
- else
- {
- printf("%4d",a[j]);
- printf("/n");
- }
- }
- }
-
- **************************************************************************
- 5.
- #include <stdio.h>
- int * sr (int *p)
- {
- int i=0;
- do
- {
- scanf("%d",p);
- i++;
- }
- while(*p>=0);
- return i;
- }
- main()
- {
- int n,a[100],j=0;
- j=sr(a);
- for(n=0;n<j;n++)
- printf("%4d",a[n]);
- }
-
- **************************************************************************
- 6.
- #include <stdio.h>
- void gb (char *p);
- main()
- {
- int i;
- char s[10];
- for(i=0;i<10;i++)
- s[i]=getchar();
- gb(s);
- }
- void gb (char *p)
- {
- int i;
- for(i=4;i<10;i++)
- *(p+i)='*';
- for(i=0;i<10;i++)
- printf("%c",p[i]);
- printf("/n");
- }
-
- **************************************************************************
- 7.
- #include <stdio.h>
- #define M 8
- void dx ( int * );
- main()
- {
- int a[M]={10,20,30,40,50,60,70,80};
- dx(a);
- }
- void dx ( int *a)
- {
- int i,j,t,n;
- for(i=0;i<M-1;i++)
- for(j=i+1;j<M;j++)
- if(a[i]<a[j])
- {
- t=a[i];
- a[i]=a[j];
- a[j]=t;
- }
- for(n=0;n<M;n++)
- printf("%d/n",a[n]);
- }
-
-
- **************************************************************************
- 8.
- #include <stdio.h>
- #include <stdlib.h>
- #define N 50
- #define M 10
- void tjgs ( int * );
- main()
- {
- int str[N],i;
- for(i=0;i<N;i++)
- str[i]=rand()%10;
- tjgs(str);
- }
- void tjgs ( int *str)
- {
- int i,k,j=0;
- for(k=0;k<M;k++)
- {
- for(i=0;i<N;i++)
- if(str[i]==k)
- j++;
- printf("%d:%d/n",k,j);
- j=0;
- }
-
- }
-
- **************************************************************************
- 9.
- #include <stdio.h>
- #define N 6
- int *px (int *);
- void sc (int *,int );
- main()
- {
- int m=0,a[N]={5,7,4,2,8,6};
- m=px(a);
- sc(m,N);
- }
- int *px(int *a)
- {
- int i,k,t;
- for(k=0;k<N-1;k++)
- for(i=k+1;i<N;i++)
- if(a[k]>a[i])
- {
- t=a[k];
- a[k]=a[i];
- a[i]=t;
- }
- return a;
- }
- void sc(int a[],int n)
- {
- int i;
- for(i=0;i<n;i++)
- printf("%4d",a[i]);
- printf("/n");
- }
-
- **************************************************************************
- 10.
- #include <stdio.h>
- main()
- {
- int a[2][3],i,j;
- for(i=0;i<2;i++)
- for(j=0;j<3;j++)
- scanf("%d",&a[i][j]);
- for(i=0;i<2;i++)
- {
- for(j=0;j<3;j++)
- printf("%4d",a[i][j]);
- printf("/n");
- }
- }
-
-
- **************************************************************************
- 11.
- #include <stdio.h>
- #define M 7
- #define N 7
- main()
- {
- int m,n,a[M][N];
- for(m=0;m<M;m++)
- a[m][0]=1;
- for(n=0;n<N;n++)
- a[n][n]=1;
- for(m=2;m<M;m++)
- for(n=1;n<m;n++)
- a[m][n]=a[m-1][n-1]+a[m-1][n];
- for(m=0;m<M;m++)
- {
- for(n=0;n<=m;n++)
- printf("%4d",a[m][n]);
- printf("/n");
- }
- }
-
-
-
-
-
-
-
-
- **************************************************************************
- 12.
- #include <stdio.h>
- #include <stdlib.h>
- #define M 10
- #define N 10
- main()
- {
- int m,n,t,k,a[M][N];
- for(m=0;m<M;m++)
- {
- for(n=0;n<N;n++)
- {
- a[m][n]=rand()%50;
- printf("%4d",a[m][n]);
- }
- printf("/n");
- }
- for(n=0;n<N;n++)
- {
- t=a[0][n];
- for(m=0;m<M;m++)
- if(a[m][n]<t)
- {
- t=a[m][n];
- k=m;
- }
- printf("min(%d):%d/n",t,k);
- }
- }
-
- **************************************************************************
- 13.
- #include <stdio.h>
- #include <ctype.h>
- int tj (int );
- main()
- {
- int x=0,y=0;
- y=tj(x);
- printf("y=%d/n",y);
- }
- int tj (int i)
- {
- char ch;
- do
- {
- ch=getchar();
- switch(ch)
- {
- case ' ':i++;break;
- case '/n':i++;break;
- case '/t':i++;break;
- }
- }
- while(ch!='@');
- return i+1;
- }
-
- **************************************************************************
- 14.
- #include <stdio.h>
- #define M 1000
- int slength();
- main()
- {
- char a[M];
- int x=0;
- scanf("%s",a);
- x=slength(a);
- printf("%d/n",x);
- }
- int slength(char *s)
- {
- int m=0;
- while(1)
- if(*(s+m)=='/0')
- return m;
- else m++;
- }
-
-
- **************************************************************************
- 15.
- #include <stdio.h>
- main()
- {
- char a;
- while(a!='/n')
- {
- scanf("%c",&a);
- if(a>='A'&&a<='Z')
- printf("%c",a+32);
- else
- if(a>='a'&&a<='z')
- printf("%c",a-32);
- else
- if(a!='/n')
- printf("Error!");
- else
- printf("/n");
- }
- }
-
- **************************************************************************
- 16.
- #include<stdio.h>
- #define M 100
- #define N 10
- main()
- {
- int i=0,k,m,t,x,y,a[M],b[N][N],c[N]={0},E=0,F=0,J=0;
- float d[N]={0.0};
- for(k=1;k<1000;k++)
- {
- for(m=2;m<=k/2;m++)
- if(k%m==0)
- {
- t=0;
- break;
- }
- else
- t=1;
- if(t==0)
- ;
- else
- {
- if(i>=100)
- break;
- else
- a[i]=k;
- printf("a[%2d]=%3d/t",i++,k);
- }
- }
- printf("/n");
- for(i=0;i<M;i++)
- {
- printf("%d/t",a[i]);
- if((i+1)%10==0)
- printf("/n");
- }
- for(i=0;i<M;i++)
- {
- x=i/10;
- y=i%10;
- b[x][y]=a[i];
- }
- for(x=0;x<N;x++)
- {
- for(y=0;y<N;y++)
- c[x]+=b[x][y];
- d[x]=c[x]/N;
- printf("行和:c[%d]=%d/t行均数:d[%d]=%f/t",x,c[x],x,d[x]);
- }
- printf("/n");
- for(y=0;y<N;y++)
- {
- for(x=0;x<N;x++)
- c[y]+=b[x][y];
- d[y]=c[y]/N;
- printf("列和:c[%d]=%d/t列均数:d[%d]=%f/t",y,c[y],y,d[y]);
- }
- printf("/n");
- for(x=0;x<N;x++)
- E+=b[x][x];
- printf("左右对角线和:E=%d/n",E);
- for(x=0;x<N;x++)
- F+=b[x][(N-1)-x];
- printf("右左对角线和:F=%d/n/n",F);
- for(x=0;x<N;x++)
- for(y=0;y<N;y++)
- if(b[x][y]/100==3||(b[x][y]/10)%10==3||b[x][y]%10==3)
- J++;
- printf("含'3'的数字的个数:J=%d/n/n",J);
- }
-
-
- **************************************************************************
- 17.
- #include <stdio.h>
- double fun(double,int);
- main()
- {
- double a,c;
- int b;
- scanf("%lf%d",&a,&b);
- c=fun(a,b);
- printf("(%f)%d=%f/n",a,b,c);
- }
- double fun(double x,int y)
- {
- int i;
- double z=1.0;
- for(i=1;i<=y;i++)
- z*=x;
- return z;
- }
-
- **************************************************************************
- 18.
- #include <stdio.h>
- #define M 1000
- int slength(char *s);
- main()
- {
- int x;
- char a[M];
- scanf("%s",a);
- x=slength(a);
- printf("%d/n",x);
- }
- int slength(char *s)
- {
- int m=0;
- while(1)
- if(*(s+m)=='/0')
- return m;
- else
- m++;
- }
-
- **************************************************************************
- 19.
- #include <stdio.h>
- #define M 1000
- void scopy(char *s,char *t);
- main()
- {
- char a[M],b[M-1];
- scanf("%s",b);
- scopy(a,b);
- printf("%s/n",a);
- }
- void scopy(char *s,char *t)
- {
- int i,n=0;
- while(t[n]!='/0')
- n++;
- for(i=0;i<n+1;i++)
- {
- s[i]=t[i];
- }
- }
-
- **************************************************************************
- 20.
- #include <stdio.h>
- #define M 1000
- int scomp(char *s1,char *s2);
- main()
- {
- char a[M],b[M];
- int x;
- scanf("%s%s",a,b);
- x=scomp(a,b);
- switch(x)
- {
- case 1 :printf("a>b/n");break;
- case 0 :printf("a=b/n");break;
- case -1 :printf("a<b/n");break;
- }
- }
- int scomp(char *s1,char *s2)
- {
- int i,k,n=0,m=0;
- while(s1[n]!='/0')
- n++;
- while(s2[m]!='/0')
- m++;
- if(m>=n)
- k=m;
- else
- k=n;
- for(i=0;i<k;i++)
- {
- if(s1[i]>s2[i])
- return 1;
- else
- if(s1[i]<s2[i])
- return -1;
- else
- continue;
- }
- return 0;
- }
-
- **************************************************************************
- 21.
- #include <stdio.h>
- #define M 40
- #define N 61
- main()
- {
- char a[M][N];
- int i,j,m=0,x=1;
- for(i=0;i<M;i++)
- {
- for(j=0;j<N-1;j++)
- {
- scanf("%c",&a[i][j]);
- if(a[i][j]=='/n'||a[i][j]==' '||a[i][j]=='/t')
- {
- a[i][j]='/n';
- break;
- }
- }
- if(a[i][0]=='/n')
- break;
- m++;
- }
- for(i=0;i<m;i++)
- {
- printf("%d:",x++);
- for(j=0;a[i][j]!='/n';j++)
- printf("%c",a[i][j]);
- printf("/n");
- }
- }
-
-
-
- **************************************************************************
- 22.
- #include <stdio.h>
- #define M 40
- #define N 61
- main()
- {
- char a[M][N];
- int i,j,m=0,n=0,x=1;
- for(i=0;i<M;i++)
- {
- for(j=0;j<N-1;j++)
- {
-
- a[i][j]=getchar();
-
-
-
-
- if(a[i][j]=='/n')
- break;
- }
- if(a[i][0]=='/n')
- break;
- m++;
-
- a[i][j] = '/0';
- }
- for(i=0;i<m;i++)
- {
- printf("%d:",x++);
-
-
- printf("%s/n", a[i]);
- }
- }
-
-
- **************************************************************************
- 23.
- #include <stdio.h>
- #include <string.h>
- #define M 100
- main()
- {
- char a[M][M],*t;
- int i,m=0;
- for(i=0;i<M;i++)
- {
- scanf("%s",a[i]);
- if(*a[i]=='@')
- break;
- m++;
- }
- t=a[0];
- for(i=1;i<m;i++)
- {
- if(strcmp(t,a[i])>=0)
- t=a[i];
- }
- printf("The min String is:%s/n",t);
- }
-
- **************************************************************************
- 24.
- #include <stdio.h>
- #include <string.h>
- #define M 100
- main()
- {
- char a[M][M],*t;
- int i,j,m=0;
- for(i=0;i<M;i++)
- {
- for(j=0;j<M;j++)
- {
- a[i][j]=getchar();
- if(a[i][j]=='/n'||a[i][j]==' '||a[i][j]=='/t')
- break;
- }
- if(a[i][0]=='/n')
- break;
- m++;
- a[i][j]='/0';
- }
- t=a[0];
- for(i=1;i<m;i++)
- {
- if(strcmp(t,a[i])>=0)
- t=a[i];
- }
- printf("The min String is:%s/n",t);
- }
-
-
-
-
- **************************************************************************
- 25.
- #include <stdio.h>
- main()
- {
- int i,j,k;
- for(k=0;k<4;k++)
- {
- for(i=0;i<k;i++)
- printf(" ");
- for(j=0;j<7-2*k;j++)
- printf("*");
- printf("/n");
- }
- }
-
- **************************************************************************
- 26.
- #include <stdio.h>
- int fun (int m)
- {
- if(m==1)
- return 1;
- else
- return m*fun(m-1);
- }
- main()
- {
- int m,s;
- scanf("%d",&m);
- if(m<0)
- printf("Error!/n");
- else
- if(m==0)
- printf("(%d!)=1/n",m);
- else
- {
- s=fun(m);
- printf("(%d!)=%d/n",m,s);
- }
- }
-
- **************************************************************************
- 27.
- #include <stdio.h>
- #include <math.h>
- double fun(double a,double x0)
- {
- double x1;
- x1=(x0+a/x0)/2.0;
- while(fabs(x1-x0)>1e-6)
- return fun(a,x1);
- return x1;
- }
- main()
- {
- double a,x,x0=1.0;
- scanf("%lf",&a);
- if(a<0)
- printf("Error!/n");
- else
- x=fun(a,x0);
- printf("%lf/n",x);
- }
-
- **************************************************************************
- 28.
- #include <stdio.h>
- #include <math.h>
- double fun(double a,double x0)
- {
- double x1;
- x1=(x0+a/x0)/2.0;
-