小程序,面试题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012369580/article/details/14448169
#include<stdio.h>
#include<string.h>
int IntoStr(char *p,int n)
{
    char *str=p;//整型数转换成字符串
    int i,j,len,temp;
    for(i=0;n>0;i++)
   {
       str[i]=n%10+'0';
       n/=10;
   }
   len=strlen(str);
   i=0;
   j=len-1;
  while(i<j)//字符串顺序倒序排序
  {
    temp=str[j];
   str[j]=str[i];
   str[i]=temp;
    i++;
    j--;
   }
   return len;
}
long transition(char *p,int m,int len)
{
    int i,j;
    int a;
    long sum=0;//m对应位数,个位,十位,或者百位
   for(i=0;i<len;i++)
  {
    a=1;
    for(j=0;j<p[len-m]-'0';j++)
    {
      a*=p[i]-'0';
    }
      sum+=a;
   }
   return sum;
}
int main(void)
{
   char str[10]={'\0'};
   int n,m,len;
   printf("Please input an integer!\n");
   scanf("%d",&n);
   printf("Please input an bit position!\n");
   scanf("%d",&m);
   len=IntoStr(str,n);
   printf("the value of transition(str,m,strlen(str)) is %ld.\n",transition(str,m,len));
   return 0;
}

猜你喜欢

转载自blog.csdn.net/u012369580/article/details/14448169