乔宽 发表于 2019-6-15 21:09:20

课后作业,指针。

1. 验证尼科彻斯定理:任何一个大于 2 的整数的立方都可以表示成一串连续奇数的和,这些奇数一定是要连续的(比如 3^3 == 7 + 9 + 11)
#include<stdio.h>
int main(){
        int i,j,n,cubed,sum = 0;
        printf("请输入一个整数:");
        scanf("%d",&n);
        cubed = n*n*n;
        for(i = 1;i < cubed; i += 2)
        {
                for(j =i;j<cubed;j += 2){
                sum += j;
                if(sum == cubed){
                       
                        if(j - i >4)
                        {
                                printf("%d = %d + %d + %d\n",cubed,i,i+2,j);
                               
                        }
                        else
                        {
                                printf("%d = %d + %d + %d\n",cubed,i,i+2,i+4);
                        }
                        goto FINDIT;
                }
                if(sum > cubed)
                {
                        sum = 0;
                        break;
                }
        }
}
FINDIT:
        return 0;
这一题中,其中goto FINDIT;
FINDIT:这俩行代码不是很明白。

newu 发表于 2019-6-15 21:26:22

goto FINDIT;//这句意思是跳转到标号FINDIT处执行

根据题目的意思你也可以把这句替换为return 0;

还差几 发表于 2019-6-15 23:05:05

这是goto语句
页: [1]
查看完整版本: 课后作业,指针。