马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我看了半天,不知道我的代码哪里出现了问题  求大佬帮忙瞅瞅
#include <stdio.h>
int main ()
{
int a ,i ,j ,count ,sum = 0 ,k = 3;
int c[100][5];//用于存放式子
char b;//用于判断是否打印式子
printf("请输入一个整数:");
scanf("%d" ,&a);//用户输入表示范围的最大值a
while(k <= a)
{
count = k * k * k;
for (i = 1 ;i < count ;i += 2)
{
for (j = i ;j < count ;j += 2)
{
sum += j;
if (sum == count)
{
if(j - i <= 4)
{
c[k - 3][0] = k;
c[k - 3][1] = count;
c[k - 3][2] = i;
c[k - 3][3] = i + 2;
c[k - 3][4] = i + 4;
}
else
{
c[k - 3][0] = k;
c[k - 3][1] = count;
c[k - 3][2] = i;
c[k - 3][3] = i + 2;
c[k - 3][4] = j;
}
}
if (sum > count)
{
sum = 0;
break;
}
}
}
k++;
}
printf("经验证,3 ~ 100 之间所有的整数均符合尼科彻斯定理!\n");
printf("是否打印所有式子(y/n):");
getchar ();
scanf("%c" ,&b);
if(b == 'y')
{
for(k = 3 ;k <= a ;k++ )//打印式子
{
if(c[k - 3][4] - c[k - 3][3] == 2)
{
printf("%d^3 == %d == %d + %d + %d\n" ,c[k - 3][0] ,c[k - 3][1] ,c[k - 3][2] ,c[k - 3][3] ,c[k - 3][4]);
}
if(c[k - 3][4] - c[k - 3][3] > 2)
{
printf("%d^3 == %d == %d + %d +... + %d\n" ,c[k - 3][0] ,c[k - 3][1] ,c[k - 3][2] ,c[k - 3][3] ,c[k - 3][4]);
}
}
return 0;
}
if(b == 'n')
{
return 0;
}
}
#include <stdio.h>
#include <stdlib.h>
int main() {
int a, i, j, count, sum = 0;
int number = 3; // 当前验证的数字
int results[100][5]; // 存储验证结果
char print; // 用户是否打印结果
printf("请输入一个整数:");
scanf("%d", &a); // 用户输入范围的最大值
while (number <= a) {
count = number * number * number; // 计算立方
sum = 0;
for (i = 1; i < count; i += 2) {
sum = 0;
for (j = i; j < count; j += 2) {
sum += j;
if (sum == count) {
// 存储结果
results[number - 3][0] = number;
results[number - 3][1] = count;
results[number - 3][2] = i;
results[number - 3][3] = i + 2;
results[number - 3][4] = j;
break;
} else if (sum > count) {
break;
}
}
}
number++;
}
printf("经验证,3 ~ %d 之间所有的整数均符合尼科彻斯定理!\n", a);
printf("是否打印所有式子(y/n): ");
scanf(" %c", &print); // 注意前面的空格,跳过空白字符
if (print == 'y') {
for (number = 3; number <= a; number++) {
printf("%d^3 == %d == %d + %d + ... + %d\n",
results[number - 3][0],
results[number - 3][1],
results[number - 3][2],
results[number - 3][3],
results[number - 3][4]);
}
} else if (print != 'n') {
printf("无效输入,程序退出。\n");
}
return 0;
}
|