| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 538 人关注过本帖
标题:求教一段自编代码的编译运行问题
只看楼主 加入收藏
白金伯爵
Rank: 2
等 级:论坛游民
帖 子:47
专家分:48
注 册:2015-9-21
结帖率:75%
收藏
 问题点数: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];                                                     //定义一个新的数组,这个数组中的数代表每个西瓜与平均数的差
    float sum1 = 0;                                                   //定义西瓜数组中所有西瓜的总重量
    float 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 = a[i] + a[j] + a[k] + a[x] + a[y] +a[z];
                            if (sum2 == 0)
                            {
                                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;
}

程序代码编译没错,build没错,运行出错了。。。求教这是问什么?
搜索更多相关主题的帖子: 设计程序 网络 
2015-09-27 00:00
白金伯爵
Rank: 2
等 级:论坛游民
帖 子:47
专家分:48
注 册:2015-9-21
收藏
得分:0 
//网络问题:二维平分西瓜。自编代码
/*
描述:地面上有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;
}

上面的第一段代码运行出错,我精简了一些变量,把代码改成这个样子,可是还是编译没错,build没错,运行出错,求教这是为什么呢?!!
2015-09-27 00:03
白金伯爵
Rank: 2
等 级:论坛游民
帖 子:47
专家分:48
注 册:2015-9-21
收藏
得分:0 
两次的运行出错都是:运行出现了一个问题,该**.exe程序已经结束。然后出现CMD命令窗口:Press any key to continue
2015-09-27 00:06
快速回复:求教一段自编代码的编译运行问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029049 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved