| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 424 人关注过本帖
标题:求助!这个程序哪里错了?
只看楼主 加入收藏
龙吟第一
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-4-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
求助!这个程序哪里错了?
#include "stdio.h"
#include "conio.h"
#define N  50
void main()
{
    int i, n;
    float x[N], y[N], sumx = 0, sumy = 0, equalx = 0, equaly = 0;
    double sumxy = 0, sumx_2 = 0, a, b;
    char answer;
    {
        printf("您一共要输入几组数据:");
        scanf("%d", &n);
        for (i = 1; i <= n; i++)
            {
                printf("请输入第%d组数据(x/y):", i);
                scanf("%f%f", &x[i], &y[i]);
            }
        for (i = 1; i <= n; i++)
            {
                sumx = sumx + x[i];
                sumy = sumy + y[i];
                sumxy = sumxy + x[i] * y[i];
                sumx_2 = sumx_2 + x[i] * x[i];
            }
        equalx = sumx / n;
        equaly = sumy / n;
        b = (sumxy - sumx * sumy / n) / (sumx_2 - sumx * sumx / n);
        a = equaly - b * equalx;
        printf("您所要求的线性方程为:y = %.3f - (%.3f) * x.\n", a, b);
        printf("您还想要继续计算下一组么(是请输入y):");
        /*answer = getche();*/
        scanf("%c", &answer);
    }while(answer == 'y');
    printf("\n按任意键退出!");
}
以上是我编的一个计算线性回归方程的程序,想让他能一次性进行多次计算,可怎么不等我输入y就自动退出循环了?各位高手帮我看一下哪里错了!!!!!
搜索更多相关主题的帖子: 数据 double include 
2010-04-10 19:25
不归鹄
Rank: 9Rank: 9Rank: 9
来 自:冥王星
等 级:蜘蛛侠
威 望:4
帖 子:491
专家分:1380
注 册:2009-12-20
收藏
得分:14 
回复 楼主 龙吟第一
帮你运行了一下,没错!不过后面加上一句“getch();”或“system("pause");”才能实现你的“printf("\n按任意键退出!");”,当然,要是加上“system("pause");”就没必要写“printf("\n按任意键退出!");”了

2010-04-10 19:42
龙吟第一
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-4-7
收藏
得分:0 
用什么运行的,我的是visual C++ 6.0,怎么都运行不了啊!
2010-04-10 20:44
龙吟第一
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-4-7
收藏
得分:0 
还有,while循环前我刚好像少了一个do啊!麻烦解释一下!
2010-04-10 20:46
龙吟第一
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-4-7
收藏
得分:0 
还有,问题的关键是输入y后还能再输入一组数据进行计算啊,而不是计算一次就退出了!你确认有一次计算两次以上吗?
2010-04-10 20:51
一个半笨小孩
Rank: 2
等 级:论坛游民
帖 子:5
专家分:13
注 册:2010-4-11
收藏
得分:0 
#include "stdio.h"
#include <string.h>
#define N  50
void main()
{
    int i, n;
    float x[N], y[N], sumx = 0, sumy = 0, equalx = 0, equaly = 0;
    double sumxy = 0, sumx_2 = 0, a, b;
    char answer;
    do
    {
        sumxy = 0, sumx_2 = 0,sumx = 0, sumy = 0, equalx = 0, equaly = 0;
        printf("您一共要输入几组数据:");
        scanf("%d", &n);
        for (i=1; i<=n;i++)
            {
                printf("请输入第%d组数据(x/y):",i);
                scanf("%f%f",&x[i],&y[i]);
            }
        for (i=1;i<=n;i++)
            {
                sumx=sumx+x[i];
                sumy=sumy+y[i];
                sumxy=sumxy+x[i]*y[i];
                sumx_2=sumx_2+x[i]*x[i];
            }
        equalx = sumx / n;
        equaly = sumy / n;
        b=(sumxy-sumx*sumy/ n)/(sumx_2-sumx*sumx/n);
        a=equaly-b*equalx;
        printf("您所要求的线性方程为:y = %.3f - (%.3f) * x.\n", a, b);
        printf("您还想要继续计算下一组么(是请输入y):");
        answer=getchar();
        scanf("%c",&answer);
    }
    while(answer=='y');
    printf("\n按任意键退出!");
}
虽然楼主已经结贴,但是我比较好事,哈哈哈,望大家不要见怪!
我修正了一下楼主的部分程序,希望对大家有所帮助吧。哈哈
2010-04-11 17:31
快速回复:求助!这个程序哪里错了?
数据加载中...
 
   



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

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