luop0718 2015-04-16 15:24 采纳率: 0%
浏览 3297
已采纳

输出从1到1000以内所有的完全平方数和完全立方数

#include
#include
int main()
{
int a,b,c,d,i,l;
i=1;
l=1;
a=0;
b=0;
while(a<961)
{
a=i*i;
i=i+1;
printf("%d\n",a);
}
while(b<1000)
{
b=l*l*l;
l=l+1;
printf("%d\n",b);
}
return 0;
}
怎么将输出的结果从小到大排序!!

  • 写回答

10条回答 默认 最新

  • AlgoComp 2015-04-16 15:42
    关注

    似乎你还没学数组?
    你的代码的话某些数会算两遍,所以最后sort之后我加了unique。

    #include <cstdio>
    #include <algorithm>
    using namespace std;
    int f[1000];
    int n;
    
    int main()
    {
        int a,b,c,d,i,l;
        i=1;
        l=1;
        a=0;
        b=0;
        while(a<961)
        {
            a=i*i;
            i=i+1;
            // printf("%d\n",a);
            f[n++] = a;
        }
        while(b<1000)
        {
            b=l*l*l;
            l=l+1;
            // printf("%d\n",b);
            f[n++] = b;
        }
        sort(f, f + n);
        n = unique(f, f + n) - f;
        for (int i = 0; i < n; ++i)
        {
            printf("%d\n", f[i]);
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签)
  • ¥50 sft下载大文阻塞卡死
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失
  • ¥15 springboot+vue 集成keycloak sso到阿里云
  • ¥15 win7系统进入桌面过一秒后突然黑屏
  • ¥30 backtrader对于期货交易的现金和资产计算的问题
  • ¥15 求C# .net4.8小报表工具
  • ¥15 安装虚拟机时出现问题