请问鱼酱紫们我这个代码如何使用break函数结束循环呢
#include <stdio.h>#include <math.h>
int main()
{
int a , b , i , j, sum;
printf("请输入一个整数:");
scanf("%d", &a);
if ( a > 2)
{
b = pow(a,3);
for ( i = 1 ; i <b; i += 2)
{
sum = 0;
for ( j = i ; j < b ; j += 2 )
{
sum += j;
if (sum == b)
{
if ( (j - i) > 4)
{
printf(" %d = %d + %d +.....+%d", b , i , i+2, j);
}
else
{
printf(" %d = %d + %d + %d" , b , i , i+2 , i+4);
}
}
break;
}
}
}
else
{
printf("请输入大于2的整数");
}
return 0;
}
break 去掉可以运行程序但是结果不对
输入4的话按道理按说只要一个解后就结束循环,可是有好几个 #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函数,可是一般不是不用嘛 Justin1 发表于 2020-4-6 12:13
甲鱼用的是goto函数,可是一般不是不用嘛
一般是不用,但是存在即合理
特别多重循环时可以用
页:
[1]