新人求教:关于运行问题!
最近几天写代码总出现一个问题:代码编译0错误0警告,构建0错误0警告,但是一运行就出现该*.exe程序已关闭,没有输出结果。想了好久,可能有两个原因:1、编译器的问题。2、栈溢出的问题。但是不能确定,不知其所以然。
求教大神!
举例代码:
1.
程序代码://求数列 2/1+3/2+5/3+8/5+13/8+..... 前20项的和
#include<stdio.h>
int main(void)
{
int a[20],b[20],i;
float g[20],sum[20];
a[0]=2;
b[0]=1;
g[0]=2;
sum[0]=2;
for(i==1;i<20;i++)
{
a[i]=a[i-1]+b[i-1];
b[i]=a[i-1];
g[i]=a[i]/b[i];
sum[i]=sum[i-1]+g[i];
}
printf("Sum = %f\n",sum);
return 0;
}2、
程序代码://网络问题:二维平分西瓜。自编代码
/*
描述:地面上有12个西瓜,它们的重量(单位为“两”,为计算方便已全部转化为整数,如98即为9斤8两)如下:
98,93,57,64,50,82,18,34,69,56,16,61
(1)设计程序:实现对以上12个瓜“二堆均分”(每堆6个,两堆重量相等),要求打印输出均分的各种可能方案;
(a)输入:数据输入由程序完成,执行程序后不需要任何数据输入;
(b)输出:程序执行后输出以下格式, X分别代表一个西瓜重量的数字,如下:
No1:X X X X X X,X X X X X X
No2:X X X X X X,X X X X X X
……
注:均分的两堆如果只有摆放顺序不一样,算一种输出结果。
*/
#include<stdio.h>
int main(void)
{
int xg[12]={98,93,57,64,50,82,18,34,69,56,16,61}; //定义西瓜数组,xg[i]代表第i个西瓜的重量
//float pj; //定义西瓜数组中所有西瓜的平均重量
int i,j,k,x,y,z; //定义西瓜数组这种被将被挑选的6个西瓜的可能编号
//float a[12]; //定义一个新的数组,这个数组中的数代表每个西瓜与平均数的差
int sum1 = 0; //定义西瓜数组中所有西瓜的总重量
int sum2 = 0;
//pj = sum1 / 12; //西瓜数组平均重量的数学公式
for(i==0;i<12;i++)
{
sum1 = sum1 + xg[i]; //累加得到西瓜数组西瓜的总重量
}
printf("这些西瓜的总重量为:%d\n",sum1);
//printf("这些西瓜的平均重量为:%f\n",pj);
/*for(i==0;i<12;i++)
{
a[i] = xg[i] - pj; //求得数组a[12]每一个值
printf("数组a[%d] = %f\n",i,a[i]);
}*/
for(i==0;i<7;i++)
{
for(j==i+1;j<8;j++)
{
for(k==j+1;k<9;k++)
{
for(x==k+1;x<10;x++)
{
for(y==x+1;y<11;y++)
{
for(z==y+1;z<12;z++)
{
sum2 = xg[i] + xg[j] + xg[k] + xg[x] + xg[y] +xg[z];
if (sum2 == sum1/2)
{
printf("符合条件的组合有:\n");
printf("%d,%d,%d,%d,%d,%d,%d,%d\n",xg[i],xg[j],xg[k],xg[x],xg[y],xg[z]);
}
}
}
}
}
}
}
return 0;
}






