第五周暑假作业

二级题库
double fun(double  *x)
{ int  i, j;    double  av, y[N];
  av=0;
  for(i=0; i /**********found**********/
    av+=x[i]/N;
  for(i=j=0; i     if( x[i]       y[j]=x[i]; x[i]=-1;
/**********found**********/
      j++;
    }
  i=0;
  while(i   {  if( x[i]!= -1 ) y[j++]=x[i];
/**********found**********/
     i++;
  }
  for(i=0; i   return  av;
}


/*************found**************/
void fun(char *s, int num[5])
{ int k, i=5;
  for(k=0;k /*************found**************/
      num[k]=0;
  for(;*s;s++)
      { i=-1;
/*************found**************/
        switch(*s)
           { case 'a': case'A':{i=0;break;}
             case 'e': case 'E':{i=1;break;}
             case 'i': case 'I':{i=2;break;}
             case 'o': case 'O':{i=3;break;}
             case 'u': case 'U':{i=4;break;}
           }
       if(i>=0)
       num[i]++;
      }
}

将n个数按输入顺序的逆序排列,用函数实现。(指针)
#include
void re(float *p,int n)
{
    float temp;
    int i;
    for(i=0;i<=n/2;i++)
    {
        temp=*(p+i);
        *(p+i)=*(p+n-1-i);
        *(p+n-1-i)=temp;
    }
    for(i=0;i     printf("%5.1f",*(p+i));
    printf("\n");
}
int main()
{
    int i,n;
    float a[30];
    float *p=a;
        scanf("%d",&n);
    for(i=0;i           scanf("%f",a+i);
    re(p,n);
    return 0;
}

2.使用函数计算素数个数并求和
#include
#include
 
int prime(int m);
int main(int argc,char const *argv[])
{
    int m,n,i;
    int sum=0,count=0;
    while(1)
    {
        scanf("%d%d",&m,&n);
        if(m>=1&&m<=500&&n>=1&&n<=500&&m<=n)
            break;
    }
    for(i=m;i<=n;i++)
    {
        if(prime(i))
        {
            count++;
            sum+=i;
        }
    }
    printf("%d和%d之间有%d个素数,和为%d\n",m,n,count,sum);
    return 0;
}
int prime(int m)
{
    int i;
    int ret=1;
    if(m==1)
        ret=0;
    for(i=2;i<=sqrt(m);i++)
    {
        if(m%i==0)
        {
            ret=0;
            break;
        }        
    }    
    return ret;
}


写一函数,求一个字符串的长度。(指针)#include
#include
void fix(char *p)
{
    int len=0;
    while (p[len]!='\0')
    {
        len++;
    }
    printf("len=%d",len);
}
int main()
{
    char a[20];
    gets(a);
    fix(a);
    return 0;
}


有一个字符串包含N个字符,写一个函数,将此字符串从第M个字符开始的全部字符复制到成一个字符串中。(指针)#include
int main()
{
    void c_m(char*p1,char*p2,int m);
    char str1[100],*p1=str1,str2[100],*p2=str2;
    int m;
    gets(p1);
    printf("%s\n",p1);
    scanf("%d",&m);
    c_m(p1,p2,m);
    printf("\n%s",p2);
    return 0;
 }

void c_m(char *p1, char *p2, int m)
{
    int i;
    char *temp=p1+m-1;
    for(;*temp!='\0';)
    {
        *p2++ = *temp++;
    }
}

输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少。(指针)#include
int main()
{
    char a[30];
    char *p;
    int i=0,j=0,m=0,n=0,k=0;
    p=a;
    gets(a);
    while(*p!='\0')
    {
        if(*p>='A'&&*p<='Z')
        {
            i++;
        }
        else if(*p>='a'&&*p<='z')
        {
            j++;
        }
        else if(*p>='0'&&*p<='9')
        {
            m++;
        }
        else if(*p==' ')
        {
            n++;
        }
        else
        {
            k++;
        }
        p++;  
    }
    printf("大写字母:%d\n小写字母:%d\n数字:%d\n空格:%d\n其他字符:%d\n",i,j,m,n,k);
    return 0;
}


写一个函数,将一个3*3的整形矩阵转置。(指针)#include
void trans(int (*s)[3], int x, int y);        
int main()
{
    int a[3][3], *p, i, j;
    for(p=*a;p<*a+9;scanf("%d", p++));    
        trans(a,3,3);                                                          
    for(i=0;i<3;i++)                                       
        for(j=0;j<3;printf("%d",*(*(a+i)+j++)));
    return 0;
}
void trans(int(*s)[3],int x,int y)
{
    int i,j,t;
    for(i=0;i         for(j=0;j }


将n个数按输入顺序的逆序排列,用函数实现。(指针)#include
void re(float *p,int n)
{
    float temp;
    int i;
    for(i=0;i<=n/2;i++)
    {
        temp=*(p+i);
        *(p+i)=*(p+n-1-i);
        *(p+n-1-i)=temp;
    }
    for(i=0;i     printf("%5.1f",*(p+i));
    printf("\n");
}
int main()
{
    int i,n;
    float a[30];
    float *p=a;
        scanf("%d",&n);
    for(i=0;i           scanf("%f",a+i);
    re(p,n);
    return 0;
}


节假日期间某单位安排值班,单位有A、B、C、D、E、F、G七位值班人员,在一星期内(星期一至星期天)每人要轮流值班一天。现 在已知: A值班人员比C值班人员晚一天值班;#include
#include
int a[8];
char *day[]={"","M","TU","W","TH",
"F","SA","SU"};
int main()
{
    int i,j,t;
    a[4]=6;
    for(i=1;i<=3;i++)
    {
        a[i]=2;
        if(!a[i+3])
            a[i+3]=7;
        else
        {
            a[i]=0;
            continue;
        }
        for(t=1;t<=3;t++)
        {
            if(!a[t])
            a[t]=5;
            else
                continue;
            if(!a[t+2])
                a[t+2]=4;
            else
            {
                a[t]=0;
                continue;
            }
            for(j=5;j<7;j++)
            {
                if(!a[j])
                    a[j]=3;
                else
                continue;
                    if(!a[j+1])
                        a[j+1]=1;
                    else
                    {
                        a[j]=0;
                        continue;
                    }
                for(i=1;i<=7;i++)
                    printf("%c is %s\n",'A'+a[i]-1,day[i]);
exit(0);
            }
        }
    }
}


使用函数计算素数个数并求和#include
#include
 
int prime(int m);
int main(int argc,char const *argv[])
{
    int m,n,i;
    int sum=0,count=0;
    while(1)
    {
        scanf("%d%d",&m,&n);
        if(m>=1&&m<=500&&n>=1&&n<=500&&m<=n)
            break;
    }
    for(i=m;i<=n;i++)
    {
        if(prime(i))
        {
            count++;
            sum+=i;
        }
    }
    printf("%d和%d之间有%d个素数,和为%d\n",m,n,count,sum);
    return 0;
}
int prime(int m)
{
    int i;
    int ret=1;
    if(m==1)
        ret=0;
    for(i=2;i<=sqrt(m);i++)
    {
        if(m%i==0)
        {
            ret=0;
            break;
        }        
    }    
    return ret;
}

你可能感兴趣的:(暑假作业,c语言)