新人求教:关于运行问题!
最近几天写代码总出现一个问题:代码编译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; }