shijiawei62021 2022-01-27 23:07 采纳率: 100%
浏览 329
已结题

输出反序数(指向一维数组的指针)

 输出反序数(指向一维数组的指针) 描述 编写程序,输出所有满足下列条件的N(N<10)位数:一个数的9倍恰好是其反序数(将数的各位数字倒过来形成的数)。 要求: 1)采用指针实现。 2)判断某数是否为符合条件数的函数原型为:int reverse_num(int* pNumber,int n) 输入 输入:一个整数N,表示数的位数 输出 输出:满足条件 “一个数的9倍恰好是其反序数” 的N位数
Button btn; //声明一个按钮
btn=new Button(); //初始化
btn.Text="Click Me"; //设置文字
btn.Width=40; //宽度
btn.Location=new Point(100,100); //坐标位置
btn.Click+= (o,ee) => MessageBox.Show("123"); //按下时的事件
this.Controls.Add(btn); //添加到窗体

include <stdio.h>

int reverse_num(int* pNumber,int n)
{
int i,j,t=0;
int b[10];
for(i=n-1;i>=0;i--)
{
b[i]=* (pNumber+n-i-1);
}
for(i=0;i<n;i++)
{
j*=10;
t*=10;
j+=*(pNumber+i);
t+=b[i];
}
j=j*9;
if(t==j)
return 1;
else
{
return 0;
}
}
int main()
{
int N,i,j,index,n=0;
int a[10];
int * pNumber=&a[0];
int s=1,t=1;
scanf("%d",&N);
for(i=1;i<N;i++)
{
s=s*10;
}
t=s*10;
for(j=s;j<t;j++)
{
n=j;
i=0;
do
{
* (pNumber+i)=n%10;
a[i]=* (pNumber+i);
n=n/10;
i++;
}
while(n>=10);
if(reverse_num(a,N)!=1)
{
continue;
}
else if(reverse_num(a,N)==1&&index==0)
{
index=1;
printf("The reverse number is:");
printf("\n%d",j);
}
else if(reverse_num(a,N)==1&&index==1)
{
printf("\n%d",j);
}
}
if(index==0)
{
printf("There's no reverse numbe");
}
}
//帮忙改一下

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-01-28 03:00
    关注

    供参考:

    #include <stdio.h>
    int reverse_num(int* pNumber,int n)
    {
       int i,k=0,t=0;
       for(i=0;i<n;i++)
       {
          k = k*10+pNumber[i];
          t = t*10+pNumber[n-1-i]*9;
       }
       return k == t;
    }
    int main()
    {
       int N,i,j,index,n=0;
       int a[10]={0};       //修改
       int s=1,t=1;
       scanf("%d",&N);
       for(i=1;i<N;i++)
          s=s*10;
       t=s+s/10;
       for(j=s,index=0;j<t;j++)
       {
          n=j;i=0;
          while(n)
          {
             a[i++]=n%10;
             n=n/10;
          }
          if(reverse_num(a,i)==1)
          {
              printf(index == 0 ? "The reverse number is:%d":" %d", j);
              index++;
          }
       }
       if(index==0)
       {
          printf("There's no reverse numbe");
       }
       return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月5日
  • 已采纳回答 1月28日
  • 创建了问题 1月27日

悬赏问题

  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因