鱼C论坛

 找回密码
 立即注册
查看: 769|回复: 2

[已解决]c语言作业

[复制链接]
发表于 2020-11-17 20:16:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[2,20]之间的数满足这一性质。
#include  <stdio.h>
int  main()
{
        long  n,  i,  k,  j,  p,  sum;
        for(n=2;  n<=10;  n++)
        {
                k=n*n*n;
                for(i=1;  i<k/2;  i+=2)
                {
                        for(j=i,  sum=0;填空
      ;  j+=2)
                                sum+=j;
                        if(sum==k)
                        {
                                printf("\n%ld*%ld*%ld  =  %ld=",  n,  n,  n,  sum);
                                for(p=i;  p<  填空
    ;  p+=2)  printf("%ld+",  p);
                                printf("%ld",  p);
                                break;
                        }
                }
                if(i>=k/2)  printf("\n  error!  ");
        }
        return  0;
}

求助这样的程序填空题一般都怎么做呀
最佳答案
2020-11-17 21:17:08
只能自己代入出题老师的逻辑里,在电脑上自己调试
#include  <stdio.h> 
int main(void) 
{ 
    long n, i, k, j, p, sum; 
    for(n = 2; n <= 10; n++) 
    { 
        k = n * n * n;
        for(i = 1; i < k / 2; i += 2)
        { 
            for(j = i, sum = 0; sum < k; j += 2)
                sum += j; 
            if(sum == k) 
            { 
                printf("\n%ld * %ld * %ld  =  %ld = ", n, n, n, sum); 
                for(p = i; p < j - 2; p += 2)
                    printf("%ld + ", p); 
                printf("%ld",  p); 
                break; 
            } 
        } 
        if(i >= k / 2)
            printf("\nerror!"); 
    } 
    return  0; 
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-11-17 20:17:10 | 显示全部楼层
循环一多直接蒙了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-17 21:17:08 | 显示全部楼层    本楼为最佳答案   
只能自己代入出题老师的逻辑里,在电脑上自己调试
#include  <stdio.h> 
int main(void) 
{ 
    long n, i, k, j, p, sum; 
    for(n = 2; n <= 10; n++) 
    { 
        k = n * n * n;
        for(i = 1; i < k / 2; i += 2)
        { 
            for(j = i, sum = 0; sum < k; j += 2)
                sum += j; 
            if(sum == k) 
            { 
                printf("\n%ld * %ld * %ld  =  %ld = ", n, n, n, sum); 
                for(p = i; p < j - 2; p += 2)
                    printf("%ld + ", p); 
                printf("%ld",  p); 
                break; 
            } 
        } 
        if(i >= k / 2)
            printf("\nerror!"); 
    } 
    return  0; 
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 13:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表