广东工业大学 Anyviewce C语言 习题七

广东工业大学 anyview c语言 第七章

仅供参考

广东工业大学 Anyviewce C语言 习题七.

广东工业大学 Anyviewce C语言 习题八.

广东工业大学 Anyviewce C语言 习题九.

广东工业大学 Anyviewce C语言 习题十.

广东工业大学 Anyviewce C语言 习题十一.

/**********

【习题7.010】写一函数求3个整数中最小的数。

**********/

int min(int x, int y, int z)
/* 返回3个整数x,y和z中最小的数 */
{    
    if(x<y)
        if(x<z)
            return x;
        else
            return z;
    else if(y<z)
        return y;
    else
        return z;                     
}

/**********

【习题7.020】编写函数,求用1元、5元和10元三种纸币支付n元钱共有多少种支付法?

例如,16元可有6种支付方法:
方法 1 2 3 4 5 6
10元 0 0 0 0 1 1
5元 0 1 2 3 0 1
1元 16 11 6 1 6 1
**********/

int change(int n)
{
     int i,j,k,zhong=0;
     
     for(i=0;i<=n;i++)
        for(j=0;j<=n/5;j++)
            for(k=0;k<=n/10;k++)
                {
                    if(i+j*5+k*10>n)//节省资源 
                      break;
                    else if(i+j*5+k*10==n)
                      zhong++;
                        
                }
     return zhong;           
     
}

/**********

【习题7.030】先编写一个判断素数的函数。再编写一个函数将一个偶数表示为两个素数之和,并返回其中较小的素数。

注:素数指只能被1和自身整除的正整数。规定0,1不是素数。
**********/

int prime(int n) 
/* 判断素数,如果是素数返回1,不是素数则返回0 */
{
      int i;
      float t=sqrt(n);
      for(i=2;i<t;i++)
        if(n/i==0)
            return 1;
            
      return 0;
      
}

int f(int i)   
/* 将偶数i表示为两个素数之和,返回其中较小的素数*/
{
    int t,j,k,n=0,a[100]={0};
    for(j=3;j<i;j++)//求i之前的所有素数并存放在a数组中
    {
        for(k=2,t=1;k<j;k++)
        {
            if(j%k==0)
            {
                t=0;
                break;
            }    
                
        }
        
        if(t==1)
        {
          a[n]=k;
          n++;
        }  
        else
            t=1;

    }
         
      for(j=0;j<n+1;j++)//求满足条件的两个素数
         for(k=j+1;k<n+1;k++)
             if(a[j]+a[k]==i)
                 return a[j];
        
}

/**********

【习题7.050】编写函数,将字符串中ASCII码最小的字符放在第一个字符位置,其余字符依次往后移。

**********/

void func(char *str)
/* 将字符串str中ASCII码最小的字符放在第一个 */
/* 字符位置,其余字符依次往后移。           */
{
    char t=str[0];
    int i,k;
        
    for(i=0;str[i]!=0;i++)//找出最小的字符
    {
        if(str[i]<t)
        {
            t=str[i];
            k=i;//记录最小字符位置
        } 
    }    
    
    for(i=k-1;i>=0;i--)//从最小字符前开始后移
    {
        str[i+1]=str[i];
    }
    
    str[0]=t;
        
    
}

/**********

【习题7.060】编写函数将一个nxn的二维数组按“次对角线”翻转。

例如:翻转前的数组 翻转后的数组
1 2 3 9 6 3
4 5 6 —> 8 5 2
7 8 9 7 4 1
**********/

void invert(char a[N][N])
{
    int i,j,t;
    for(j=0;j<N-1;j++)
    {    for(i=0;i<N-j-1;i++)
        {
            t=a[j][i];
            a[j][i]=a[N-i-1][N-j-1];
            a[N-i-1][N-j-1]=t;
        }
    } 
}

/**********

【习题7.064】编写函数将一个NxN的二维数组“水平”翻转。

例如:翻转前的数组 翻转后的数组
1 2 3 7 8 9
4 5 6 —> 4 5 6
7 8 9 1 2 3
**********/

void invertH(char a[N][N])
{
     int i,j,t;
     for(i=0;i<(N-1)/2;i++)
     {
        for(j=0;j<N;j++)
        {   
            t=a[i][j];
            a[i][j]=a[N-i-1][j];
            a[N-i-1][j]=t;
        }
     }
}

/**********

【习题7.065】编写函数将一个NxN的二维数组“垂直”翻转。

例如:翻转前的数组 翻转后的数组
1 2 3 3 2 1
4 5 6 —> 6 5 4
7 8 9 9 8 7
**********/

void invertV(char a[N][N])
{
     int i,j,t;
     for(i=0;i<(N-1)/2;i++)
     {
        for(j=0;j<N;j++)
        {   
            t=a[j][i];
            a[j][i]=a[j][N-i-1];
            a[j][N-i-1]=t;
        }
     }
}

/**********

【习题7.067】编写函数将一个NxN的二维数组的周边元素“顺时针”轮转1位。

例如:轮转前的数组 轮转后的数组
1 2 3 4 1 2
4 5 6 —> 7 5 3
7 8 9 8 9 6
**********/

void turningClockwise(char a[N][N])
{

    int t,m;
    t = a[0][0];                       
    for(m=0;m<N-1;m++)
        a[m][0]=a[m+1][0];
                 
    for(m=0;m<N-1;m++)
        a[N-1][m]=a[N-1][m+1];
    
    for(m=N-1;m>0;m--) 
        a[m][N-1]=a[m-1][N-1]; 
        
    for(m=N-1;m>1;m--)
        a[0][m]=a[0][m-1];
        
    a[0][1]=t;
    
}

/**********

【习题7.068】编写函数将一个NxN的二维数组的周边元素“逆时针”轮转1位。

例如:轮转前的数组 轮转后的数组
1 2 3 2 3 6
4 5 6 —> 1 5 9
7 8 9 4 7 8
**********/

void turningAnticlockwise(char a[N][N])
{
    int t,m;
    t = a[0][0];                       
    for(m=0;m<N-1;m++)
        a[0][m]=a[0][m+1];
                 
    for(m=0;m<N-1;m++)
        a[m][N-1]=a[m+1][N-1];
    
    for(m=N-1;m>0;m--) 
        a[N-1][m]=a[N-1][m-1];
        
    for(m=N-1;m>1;m--)
        a[m][0]=a[m-1][0];
        
    a[1][0]=t;
}

/**********

【习题7.072】编写函数将一个NxN的二维数组a的元素按行向右轮转1位。

例如:轮转前的数组 轮转后的数组
1 2 3 3 1 2
4 5 6 —> 6 4 5
7 8 9 9 7 8
**********/

void turningRight(char a[N][N])
{
         int b[N]={0};
         int i,j;
         
         for(i=0;i<N;i++)
         {
            b[i]=a[i][N-1];
         }
         
         for(i=N-2;i>=0;i--)
         {
            for(j=0;j<N;j++)
            {
                a[j][i+1]=a[j][i];
            }
         }
         
         for(i=0;i<N;i++)
         {
            a[i][0]=b[i];
         }
}

/**********

【习题7.075】编写函数将一个NxN的二维数组a的元素按行向左轮转1位。

例如:轮转前的数组 轮转后的数组
1 2 3 2 3 1
4 5 6 —> 5 6 4
7 8 9 8 9 7
**********/

void turningLeft(char a[N][N])
{
         int b[N]={0};
         int i,j;
         
         for(i=0;i<N;i++)
         {
            b[i]=a[i][0];
         }
         
         for(i=0;i<N-1;i++)
         {
            for(j=0;j<N;j++)
            {
                a[j][i]=a[j][i+1];
            }
         }
         
         for(i=0;i<N;i++)
         {
            a[i][N-1]=b[i];
         }
}

/**********

【习题7.082】编写函数将一个NxN的二维数组a的元按列向下轮转1位。

例如:轮转前的数组 轮转后的数组
1 2 3 7 8 9
4 5 6 —> 1 2 3
7 8 9 4 5 6
**********/

void turningDown(char a[N][N])
{
         int b[N]={0};
         int i,j;
         
         for(i=0;i<N;i++)
         {
            b[i]=a[N-1][i];
         }
         
         for(i=N-2;i>=0;i--)
         {
            for(j=0;j<N;j++)
            {
                a[i+1][j]=a[i][j];
            }
         }
         
         for(i=0;i<N;i++)
         {
            a[0][i]=b[i];
         }
}

/**********

【习题7.085】编写函数将一个NxN的二维数组a的元素按列向上轮转1位。

例如:轮转前的数组 轮转后的数组
1 2 3 4 5 6
4 5 6 —> 7 8 9
7 8 9 1 2 3
**********/

void turningUp(char a[N][N])
{
         int b[N]={0};
         int i,j;
         
         for(i=0;i<N;i++)
         {
            b[i]=a[0][i];
         }
         
         for(i=0;i<N-1;i++)
         {
            for(j=0;j<N;j++)
            {
                a[i][j]=a[i+1][j];
            }
         }
         
         for(i=0;i<N;i++)
         {
            a[N-1][i]=b[i];
         }
}

/**********

【习题7.103】编写函数,求整数m和n的最大公约数,并作为函数的返回值。

**********/

int gdc(int m, int n)
{

    if(n==0)
        return m;
    return gdc(n,m%n);
}

/**********

【习题7.105】 编写函数,求整数m和n的最小公倍数,并作为函数的返回值。

**********/

int gdc(int m, int n)
{

    if(n==0)
        return m;
    return gdc(n,m%n);
}

int lcm(int m, int n)
{     
   return m*n/gdc(m,n);
}

/**********

【习题7.115】 编写函数,将两个两位数的正整数a、b合并形成一个整数c且作为函数值返回。合并的方式是:将a的十位和个位数分别作为c的千位和十位数,b的十位和个位数分别作为c的百位和个位数。

例如,若a=45,b=12,则该函数返回值为4152。
**********/

int func(int a, int b)
{
     int i,j,k,t;               
     i=a%10,a/=10;
     j=a%10;
     k=b%10,b/=10;
     t=b%10;
     
     return j*1000+i*10+k+t*100;
}

/**********

【习题7.125】编写函数,对非负浮点数r的值的第三位小数四舍五入,返回保留2位小数的值。

例如:若r的值为8.32488,则函数返回8.32;若r的值为8.32533,则返回8.33。
**********/

float func(float r)
{     
     float i=(int)(100*(r+0.005));
     
     return i/100;
     
}

/**********

【习题7.135】假设n是一个k(k≥2)位的正整数,编写函数,求出由n的低k-1位构成的数并作为函数值返回。

例如:若n值为5923,则函数返回923;若n值为923,则函数返回23。
**********/

int func(int n)
{
    int i,j,k;
    j=n;
    k=j%10;
    for(i=0;j!=0;i++)
    {
        k=j%10;
        j=j/10;
    }    
    k=n%((int)(pow(10,i-1)));
    
    return k; 
}

/**********

【习题7.175】编写函数,求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。

例如,若n为100时,函数返回值应为14.49138。
**********/

float func(int n)
{
    int i,k=0,a[100]={0};
    float j=0;
    for(i=8;i<n;i++)
    {
        if(i%3==0&&i%7==0)
        {
            a[k]=i;
            k++;
        }
    }
    
    for(i=0;i<k;i++)
    {
       j=j+a[i];
    }
    
    j=sqrt(j);
    
    return j;
}

/**********

【习题7.184】编写函数,根据公式s=1+1/(1+2)+1/(1+2+3)+…1/(1+2+3+…+n)计算s,并作函数值返回。

例如:若n的值为11时,函数的值为1.833333。
**********/

float func(int n)
{
    int i;
    float s=0;
    for(i=1;i<=n;i++)
    {
        s=s+2.0/(i+i*i);
    }
    
    return s;
}

/**********

【习题7.187】编写函数,计算并输出下列级数和:1/(12)+1/(23)+1/(34)+ … +1/(n(n+1)),并返回结果。

例如,当n=10时,函数值为0.90909。
**********/

float func(int n)
{
    int i;
    float s=0;
    for(i=1;i<=n;i++)
    {
        s=s+1.0/(i*(i+1));
    }
    
    return s;
}

/**********

【习题7.195】编写函数,求m!/(n!(m-n)!)的值,结果由函数值返回。m与n为两个正整数且要求m>n。

例如:m=12,n=8时,运行结果为495.000000。
**********/

float factorial(int n)//计算阶乘
{
    int i;
    long float s=1;
    for(i=1;i<=n;i++)
      s*=i;
      
    return s;
}


float func(int m, int n)
{
    int i;
    float s;
    s=factorial(m)/factorial(n)/factorial(m-n);
    return s;
}

/**********

【习题7.205】编写函数,计算并返回给定整数n除了1与自身之外的所有因子之和。

例如,若n=8,则函数返回6(=2+4)。
**********/

int func(int n)
{
    int i,s=0;
    
    for(i=2;i<n;i++)
    {
       if(n%i==0)
          s=s+i;
    }
    
    return s;
}

/**********

【习题7.255】编写函数,根据以下公式返回π的值 π/2 = 1+1!/3+2!/(35)+…+n!/(357(2n+1))要求满足精度eps,即一旦有小于eps的项值加入后停止迭代。

例如,若精度eps=0.0005,则返回值为3.141106。
**********/

float func(float eps)
{   
        double s=0.0,s1=1.0;
        int n=1;
            
        for(n=1;;n++)
        {
          s= s+s1;
          if(s1<eps)
            break;
          s1=s1*n/(2*n+1);
          
        }

    return 2*s;
}

/**********

【习题7.265】编写函数,将数组s所存字符串中下标和ASCII码均为偶数的字符,依次存入数组t中,并构成一个新串。

例如,若s中的字符串值为ABCD123456,则t中的串值应为246。
**********/

void func(char s[], char t[])
{
     int i,j;
     t[1]='\0';
     for(i=0,j=0;i<strlen(s);i++)
     {
        if(i%2==0&&(s[i]+'0')%2==0)
        {
            t[j]=s[i];
            j++;
        }
     }
}

关于第四行为什么要有这个 t[1]=’\0’;
emmm
因为有时候会出现下面这种情况,第二位就很离谱的出现一个0,也不知道为什么…所以先清零为妙

A$: func(“98825676”,t) : t=“8”

E$: func(“98825676”,t) : t=“80”
----- Error -----

/**********

【习题7.275】假定字符串s中可能含有字符’’。请编写函数,若字符串s的尾部连续的’‘多于n个,则删除多余的’*’。

例如,若s="A*BCDEF****"且n=4,则调用函数后,字符串s=“ABCDE**F*”;若n≥7,则字符串s中的内容不变。
注意:函数中不得调用C语言提供的字符串函数。
**********/

void func(char s[], int n)
{

    int i,j,k;
    for(i=0;s[i]!='\0';i++)
        ;
    j=i-1;
    while(s[j]=='*')
        j--;
    if(i-1-j>n)
    {
        s[j+n+1]='\0';
    }
        
    
    

    
}

/**********

【习题7.315】编写函数,求出1到n之间(含n)能被7或11整除的所有整数并依次存入数组a中,函数值为这些数的个数。

例如,若n=15,则依次存入数组a中的数为7、11和14,函数值为3。
**********/

int func(int n, int a[])
{
    int i,j;
    for(i=1,j=0;i<=n;i++)
    {
        if(i%7==0||i%11==0)
        {
            a[j]=i;
            j++;
        }
    }
    
    return j;
}

/**********

【习题7.317】编写函数,求出1到n之间(含n)都能被c和d整除的所有整数并依次存入数组a中,函数值为这些数的个数。

例如,若n=20,c=2,d=3,则依次存入数组a中的数为6、12和18,函数值为3。
**********/

int func(int n, int c, int d, int a[])
{
    int i,j;
    for(i=1,j=0;i<=n;i++)
    {
        if(i%c==0&&i%d==0)
        {
            a[j]=i;
            j++;
        }
    }
    
    return j;
}

/**********

【习题7.325】假设数组a存放了n个人的年龄。编写函数,用数组c统计各年龄段的人数,其中c[0]为0至9岁年龄段的人数,c[1]为10至19岁年龄段的人数,c[2]为20至29岁年龄段的人数,其余依此类推,c[10]为100岁(含100)以上年龄的人数。

**********/

void func(int n, int a[], int c[])
{
      int i;
      for(i=0;i<11;i++)//数组清零
        c[i]=0;                        
      for(i=0;i<n;i++)
      {
        if(a[i]<10)
            c[0]++;
        else if(a[i]<20)
            c[1]++;
        else if(a[i]<30)
            c[2]++;  
        else if(a[i]<40)
            c[3]++;
        else if(a[i]<50)
            c[4]++;
        else if(a[i]<60)
            c[5]++;
        else if(a[i]<70)
            c[6]++;
        else if(a[i]<80)
            c[7]++;
        else if(a[i]<90)
            c[8]++;
        else if(a[i]<100)
            c[9]++;
        else
            c[10]++;    
      }
}

/**********

【习题7.335】假设字符数组a中存放了按由小到大连续存放的字符构成的字符串(后跟一个’\0’作为结束符)。编写函数,删去字符串中所有重复的字符(各自只保留一个),并使得保留的字符仍构成一个字符串(连续存放,’\0’作为结束符)。函数返回a中保留的字符串长度。

例如,若a中的字符串值为: AAABBCDFFFHHHKLMMM则删除重复字符之后,函数返回值为9,a中的字符串值为: ABCDFHKLM
**********/

int func(char a[])
{
    char ch,s[100]={0};
    int i,j;
    for(j=0;a[i]!='\0';)//将a中不同的字符依次存放到s中
    {
         ch=a[i];         
         while(a[i]==ch)
            i++;
         s[j]=ch;
         j++;
    }
    
    for(i=0;i<j;i++)//将s中的字符依次赋给a
    {
        a[i]=s[i];
    }
    
    a[i]='\0';//加上结束    
    
    return j;
    
}

/**********

【习题7.345】假设字符数组s中存放了一行字符串,含有由小写字母组成的若干单词,单词之间由若干个空格隔开(串的开头没有空格)。编写函数,统计一行字符串中单词的个数,并作为函数值返回。

**********/

int func(char s[])
{
    int i,sum=0;
    
    for(i=0;s[i+1];i++)
    {
       if(s[i]==' '&&s[i+1]!=' ')
          sum+=1;//使用空格和非空格判断是否是单词开头
    }
    sum++;//加上第一个单词
    return sum;

}

/**********

【习题7.355】假定字符串s中可能含有字符’’。请编写函数,将字符串s中前导’'全部移到字符串的尾部。例如,若s的串值为ABCDEFG**,移动后,串值应为ABCDEF*G*****。

注意:不得调用C语言提供的字符串函数。
**********/

void func(char s[])
{
    int i,j,k;    
    for(j=0;s[j];j++)
    {
     if(s[j]!='*')//当第一个非*出现时记录位置,且j的值为*个数
        break;
    }
    
    for(i=j;s[i];i++)//从第一个非*位置往前t个位置
    {
     s[i-j]=s[i];
    }//循环结束后s[i]='\0';
    
    for(k=1;k<=j;k++)
        s[i-k]='*';//将'*'补上

}

/**********

【习题7.513】编写函数,计算并返回数组a中头n个元素的乘积。

**********/

long func(int a[], int n)
{
    int i;
    long j;
    for(i=1,j=a[0];i<n;i++)
    {
        j=j*a[i];
    }
    
    return j;
}

/**********

【习题7.523】编写函数,计算并返回数组a中头n个元素的平方和。

**********/

long func(int a[], int n)
{
    int i;
    long j;
    for(i=1,j=a[0]*a[0];i<n;i++)
    {
        j=j+a[i]*a[i];
    }
    
    return j;
}

/**********

【习题7.533】假设某班选举班长,k位候选人的号码分别为1至k,n张选票已存入数组v(每个元素值在1至k之间)。编写函数,用数组c统计各位候选人的得票(c[i]为i号候选人的得票数)。

**********/

void func(int v[], int n, int k, int c[])
{
    int i;
    for(i=1;i<=k;i++)//c数组清零
        c[i]=0;
    for(i=0;i<n;i++)
    {
        c[v[i]]++;        
    }
}

/**********

【习题7.535】假设某班选举班长,k位候选人的号码分别为1至k,n张选票已存入数组v(每个元素值在1至k之间)。编写函数,用数组c统计各位候选人的得票(c[i]为i号候选人的得票数),并返回得票最高的人的号码。

**********/

int func(int v[], int n, int k, int c[])
{
    int i,t,t1;
    for(i=1;i<=k;i++)//数组清零
        c[i]=0;
    for(i=0;i<n;i++)
    {
        c[v[i]]++;        
    }
    
    for(i=1,t=c[1],t1=1;i<=k;i++)
    {
        if(c[i]>t)
        {
            t=c[i];
            t1=i;
        }
    }
    
    return t1;
}

/**********

【习题7.563】编写函数,把长整数n的各位数字从低位到高位依次存储在数组d中,并返回n的位数。

例如,若n=2579,则n的位数为4,d[0…3]=9,7,5,2。
**********/

int func(long n, int d[])
{
    int i;
    for(i=0;n;i++,n/=10)
    {
        d[i]=n%10;
    }
    
    return i;
}

/**********

【习题7.565】编写函数,把长整数n的各位数字从高位到低位依次存储在数组d中,并返回n的位数。

例如,若n=2579,则n的位数为4,d[0…3]=2,5,7,9。
**********/

int func(long n, int d[])
{
    int i,j,t;
    for(i=0;n;i++,n/=10)//将长整数n的各位数字从低位到高位依次存储在数组d中
    {
        d[i]=n%10;
    }
    
    for(j=0;j<i-j-1;j++)//将数组d中的元素倒置
    {
        t=d[j];
        d[j]=d[i-j-1];
        d[i-j-1]=t;
    }
    
    return i;
}

/**********

【习题7.655】编写函数,用数组num统计字符串s中各元音字母(即:A、E、I、O、U)的个数。

注意:不分大、小写。例如,若s=“THIs is a book”,则num[0…4]={1,0,2,2,0}。
**********/

void func(char *s, int *num)
/* 功能:用数组num统计符串s中元音字母出现的个数 */
{
    int i;
    for(i=0;i<5;i++)
        num[i]=0;
        
    for(i=0;s[i];i++)
    {
        switch (s[i])
        {
            case 'A':
            case 'a':     num[0]++; break;
            
            case 'E':
            case 'e':     num[1]++; break;
            
            case 'I':
            case 'i':     num[2]++; break;
            
            case 'O':
            case 'o':     num[3]++; break;
            
            case 'U':
            case 'u':     num[4]++; break;
        }
    
    }
}

/*********

【习题7.675】假设在数组s中存放了n位学生的成绩。编写函数,用数组p统计各分数段的人数,其中p[0]为不足60分的人数,p[1]为60至69分的人数,p[2]为70至79分的人数,p[3]为80至89分的人数,p[4]为90至100分的人数。

**********/

void func(int s[], int n, int p[])
{
    int i;
    
    for(i=0;i<5;i++)//数组p清零
        p[i]=0;
        
    for(i=0;i<n;i++)
    {
        if(s[i]<60)
            p[0]++;
        else if(s[i]>=60&&s[i]<70)
            p[1]++;
        else if(s[i]>=70&&s[i]<80)
            p[2]++;
        else if(s[i]>=80&&s[i]<90)
            p[3]++;
        else 
            p[4]++;
    }
}

/**********

【习题7.685】编写函数,从小到大依次求出能整除m的各整数,并存放在数组d中,这些除数的个数由n返回。

例如,若m=20,则有6个数能整除它,依次是1,2,4,5,10,20。
**********/

void func(int m, int d[], int *n)
{
    int i,j;    
    
    for(i=1,j=0;i<=m;i++)
    {
        if(m%i==0)
        {
            d[j]=i;
            j++;
        }
    }
    
    *n=j;
}

/**********

【习题7.755】通信时经常用到加密技术,把消息加密后再传输。编写一个用于加密消息的函数,把字符串str中的小写字母改成“(其ASCII码加上字符串key中每个字符ASCII码的平方)除以128所得的余数”作为ASCII码对应的字符,其它的字符不变,其中str称为消息原文,key称为密钥。

请思考:如何解密恢复原文,这种加密方法能准确地恢复原文吗?
**********/

void func(char *str,char *key)
/* 功能:用key作为密钥对字符串str进行加密处理 */
{
    int i,j;
    long n=0;
    
    for(i=0;key[i];i++)
    {
        n+=pow((key[i]),2);
    }
    
    for(i=0;str[i];i++)
    {
        if(str[i]>='a'&&str[i]<='z')
        {
            str[i]=((str[i]+n)%128);
        }
    }
}
  • 33
    点赞
  • 145
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值