淇水汤汤112 2021-04-17 15:47 采纳率: 0%
浏览 54

一个数字的平方和立方拥有0-9之间的10个数字,且不重复,求这个数字?我这个怎么错了?

#include<stdio.h>
int main()
{
	int n,n1,n2;
	int i,i1;
	int num1[10],num2[10];
	int j=0,k=0;
	for(n=1;n<=100;n++)
    {
    	n1=n*n;
    	n2=n*n*n;
    	while(n1)
    	{
    		num1[j]=n1%10;//把平方的每一位数字存起来
    		  j++;
    		n1=n1/10;
    		 
		}
    		
	     	while(n2)
    	{
    		 num2[k]=n2%10;//把立方的每一位数字存起来
    		 k++;
    		 n2=n2/10;
    		
       }
		for(j=0;j<10;j++)
		{
			for(k=0;k<10;k++)
			{
				if(!num1[j]==num2[k])break;//如果平方和立方没有重复的数字,就输出n
                printf("%d",n);//
			
			}
		}
			
	 
	 
		
 
	
}

return 0;
}
  • 写回答

1条回答 默认 最新

  • Neal·Lee 2021-04-21 19:15
    关注
    #include<stdio.h>
    int main()
    {
    	int n,n1,n2;
    	int i,i1;
    	int num1[10],num2[10];
    	int j=0,k=0;p = 0;
    	for(n=1;n<=100;n++)
            {
            j = k  = p = 0;    // 每次循环后j,k,p的值归零
        	n1=n*n;
        	n2=n*n*n;
        	    while(n1)
        	    {
        		num1[j]=n1%10;//把平方的每一位数字存起来
        		  j++;
        		n1=n1/10; 
    		}
        		
    	     while(n2)
        	    {
        		 num2[k]=n2%10;//把立方的每一位数字存起来
        		 k++;
        		 n2=n2/10;	
                   }
    
                if(j+k != 10) continue;    // 两个数长度加起来都没有十位数那肯定凑不齐0~9,超过十位数了那肯定会有重复的
                for(k = 0; j < 10; j++,k++) num1[j] = num2[k];    // 将num2合并到num1里面
    
                for(k = 0; k < 10; k++)    // 从num1中查找是否存在0~9
                {
                    for(j = 0;j < 10; j++)
                        if(k == num1[j]) {p = 1;break;}    // 若存在k,寻找是否存在下一个
                        else p = 0;
                    if(p == 0) break;    // 若p等于0,说明循环完num1都没找到k值,即0~9中有一位不存在,那就别找了下一步吧
                }
    
    			if(p == 0) continue;    // 若p等于0,该数不符合要求,开始下一次循环
                else {
                    printf("符合要求得数为:%d",n);
                    break;	
                }
    	
    }
    return 0;
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥20 Keil uVision5创建project没反应
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
  • ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
  • ¥15 io.jsonwebtoken.security.Keys