| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1082 人关注过本帖
标题:统计其中有多少立方数。帮我看看错哪里了。。
只看楼主 加入收藏
zhao72349947
Rank: 1
来 自:成都东软学院
等 级:新手上路
帖 子:60
专家分:5
注 册:2012-10-20
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:4 
统计其中有多少立方数。帮我看看错哪里了。。
描述
有一堆正整数,统计其中有多少立方数。
输入
输入数据有一些正整数,其每个数都小于2 ^ 32。若该数为0,则应结束统计。
产量
输出所统计的立方数个数
采样输入
1 3 5 7 9 11 15 17 19 21 23 25 27 0
样本输出
2
程序代码:
#include<stdio.h>
int main()
{
    long int a[10000];
    int j,n,num=0;
    for(n=0;;)
    {
        scanf("%ld",&a[n]);
        if(a[n]==0)
        break;
        for(j=1;;j++)
        {
            if(j*j*j==a[n])
            {
            num=num+1;
            break;
            }
        }
        n++;
    }
    printf("%d\n",num);
}

搜索更多相关主题的帖子: 统计 立方 正整数 
2013-05-07 09:12
ppfly
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:297
专家分:1956
注 册:2009-5-17
收藏
得分:5 
程序代码:
for(j=1;;j++)
        {
            if(j*j*j==a[n])
            {
            num=num+1;
            break;
            }
if(j*j*j>a[n])break;
        }

********多贴代码,少说空话*******
2013-05-07 09:48
不眠的夜
Rank: 2
等 级:论坛游民
帖 子:63
专家分:96
注 册:2013-3-12
收藏
得分:5 
这样改就好使了:

#include<stdio.h>
void main()
{
    long int a[10000];
    int j,n,num=0;
    printf("请输入一组整数:\n");
    for(n=0;;n++)
    {
        scanf("%ld",&a[n]);
        if(a[n]==0)
            break;
        for(j=1;j<=a[n];j++)
        {
           if(j*j*j==a[n])
               num=num+1;
        }
    }
    printf("立方数有%d个\n",num);
}
2013-05-07 11:26
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:5 
程序代码:
#include <math.h>
#include <stdio.h>

void init(size_t a[])
{
    a[0] = (size_t)pow(0xffffffff, 1.0/3);
    for ( size_t i = 1; i <= a[0]; ++i)
    {
        a[i] = i*i*i;
    }
}

int find(size_t a[], size_t key, size_t beg, size_t end)
{
    size_t ip = (beg + end) / 2;

    if (ip == beg)      return a[beg] == key || a[end] == key;
    if (a[ip] == key)   return 1;
    if (a[ip] > key)    return find(a, key, beg, ip);
    else                return find(a, key, ip, end);
}

int main()
{
    size_t n, count = 0;
    size_t a[2000] = {0};

    init(a);
    while (scanf("%u", &n), n > 0)
    {
        count += find(a, n, 1, a[0]);
    }
    printf("%u\n", count);

    return 0;
}


[ 本帖最后由 azzbcc 于 2013-5-7 13:45 编辑 ]


[fly]存在即是合理[/fly]
2013-05-07 13:41
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
收藏
得分:5 
#include <stdio.h>
main()
{
    long int n;
    int j,num=0;
    scanf("%ld",&n);
    while(n!=0)
    {
        for(j=1;j<n;j++)
        {
            if(j*j*j==n)
            {
               num=num+1;
               break;
            }
        }
        scanf("%ld",&n);
    }
    printf("%d\n",num);
    return 0;
}这个供参考
2013-05-08 07:40
快速回复:统计其中有多少立方数。帮我看看错哪里了。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012627 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved