北溟冰沨吧 关注:3贴子:15
  • 4回复贴,共1

端起一杯茶,好好看代码

只看楼主收藏回复

..很喜欢我的专业,真的很喜欢,可惜之前一直玩游戏耽误了,快结课了,好好看看代码,提升为水.........


1楼2009-04-19 22:06回复
    #include<stdio.h>
    int count(int * p,int n,int *maxp,int *minp,float *averp)
    {
    int i,sum=*(p+n-1);
    float aver;
    *maxp=*minp=*p;
    for(i=0;i<n-1;i++){
    if( (*maxp) < (*(p+i+1)) )
    *maxp=*(p+i+1);
    if( *minp>*(p+i+1) )
    *minp=*(p+i+1);
    sum=*(p+i)+sum;
    }
    aver=(float)(1.0*sum/n);
    *averp=aver;
    return(0);
    }
    int main()
    {int person[31],n,*p,max=0,min=0,*maxp,*minp; 
    int i;
    float aver,*averp;
    maxp=&max;
    minp=&min;
    averp=&aver;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    scanf("%d",&person[i]);
    p=&person[0];
    count(p,n,maxp,minp,averp);
    printf("%d %d %.2f\n",max,min,aver);
    return(0);
    }


    2楼2009-04-19 22:06
    回复
      #include<stdio.h>
      #include<string.h>
      int main(){
      int i,n,k,j;
      char name[30][10];
      char q[10];
      scanf("%d",&n);
      for(i=0;i<n;i++)
      scanf("%s",name[i]);
      for(i=0;i<n;i++){
      k=i;
      for(j=i+1;j<n;j++)
      if(strcmp(name[k],name[j])>0)
      k=j;
       strcpy(q,name[k]);
      strcpy(name[k],name[i]);
      strcpy(name[i],q);
      }
      //printf("\n");
      for(i=0;i<n;i++)
      printf("%s\n",*(name+i));
      return(0);
      }
      


      3楼2009-04-19 22:07
      回复
        #include <stdio.h>
        #include <string.h>
        int stringcmp(char *str1,char *str2);
        int main(){
        int i,n,x[100];
        char a[100][20],b[100][20],*st1,*st2;
        scanf("%d",&n);
        for(i=0;i<n;i++){
        scanf("%s",a[i]);
        scanf("%s",b[i]);
        st1=&a[i][0];
        st2=&b[i][0];
        x[i]=stringcmp(st1,st2);
        }
        for(i=0;i<n;i++){
        printf("%d ",x[i]);
        }
        return(0);
        }
        int stringcmp(char *str1,char *str2){
         int i=0,temp,mark;
         while( strcmp( (*(str1+i)) , (*(str2+i)) )==0 ){
         i++;
        temp=i;
         }
         mark=*(str1+temp) - *(str2+temp);
         return(mark);
        }


        4楼2009-04-19 22:07
        回复
          #include<stdio.h>
          float aver(int (*p)[5],int n);
          void fail(int (*p)[5],char (*q)[9],int n);
          void good(int (*p)[5],char (*q)[9],int n);
          int main(){
          int i,j,n;
          float p;
          int score[30][5];
          char num[30][9];
          scanf("%d",&n);
          for(i=0;i<n;i++){
          scanf("%s",num[i]);
          for(j=0;j<5;j++)
          scanf("%d",&score[i][j]);
          }
          p=aver(score,n);
          printf("%.2f\n",p);
          fail(score,num,n);
          printf("\n");
          good(score,num,n);
          printf("\n");
          return(0);
          }
          float aver(int (*p)[5],int n){
          int i;
          float sum=0,av=0;
          for(i=0;i<n;i++)
          sum=**(p+i)+sum;
          av=sum/n;
          return(av);
          }
          void fail(int (*p)[5],char (*q)[9],int n){
          int i,j,flag=0;
          for(i=0;i<n;i++){
          for(j=0;j<5;j++)
          if(*(*(p+i)+j)<60) flag++;
          if(flag>=2)
          printf("%s ",*(q+i));
          flag=0;
          }
          }
          void good(int (*p)[5],char (*q)[9],int n){
          int i,j;
          float sum=0,av=0;
          for(i=0;i<n;i++){
          for(j=0;j<n;j++)
          sum+=*(*(p+i)+j);
          av=sum/n;
          if(av>=90)
          printf("%s ",*(q+i));
          }
          }


          5楼2009-04-19 22:07
          回复