| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 970 人关注过本帖
标题:小弟初学C++,编个程序但是编译不了,请教一下高人
只看楼主 加入收藏
nfer
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-7-4
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:6 
小弟初学C++,编个程序但是编译不了,请教一下高人
非感谢各位

[ 本帖最后由 nfer 于 2010-7-5 09:23 编辑 ]
搜索更多相关主题的帖子: 高人 编译 
2010-07-04 20:40
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:20 
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int Ix;
    cout << "输入不可忽略的键数目";//用来确定数组行数
    cin >> Ix;
    int a=Ix+1;
    float M[Ix+1][8];
    cout << "以下输入参数时,请根据实验键距由小到大书序输入相应的I,R,D值";
    for (int i=1;i<=Ix;i++)
    {cout << "请输入实验键距D";
     cin >> M[i][4];//存储实验键距
     cout << "请输入第"<<i<<"个键的等同键数Ia值";
     cin >> M[i][1];   
     cout << "请输入第"<<i<<"个键的两端原子R(1)值,用空格分开,回车";
     cin >> M[i][2]>>M[i][3];//用来存储两端原子的R(1)
    }
    float Znc,B;//定义单元内总电子数和B值
    cout << "请输入B值";
    cin >> B;
    float N=M[1][1];//计算价电子总数公式的一部分,Ia+Ib*rb+Ic*rc
    for (int i=2;i<=Ix;i++)
    {
        M[i][5]=pow((M[i][2]+M[i][3]-M[i][4]-M[1][2]-M[1][3]+M[1][4])/B,2);
        N=N+M[i][1]*M[i][5];
    }
    M[1][6]=Znc/N;//计算出na,第一个键的共价电子数
    for (int i=2;i<=Ix;i++)
    {
        M[i][6]=M[1][6]*M[i][5];//计算出各个键的共价电子数
    }
    for (int i=1;i<=Ix;i++)
    {
        M[i][7]=M[i][2]+M[i][3]-B*log10(M[i][6]);//计算出理论键距
        M[i][8]=abs(M[i][7]-M[i][4]);//计算误差,取绝对值
    }
    cout << "计算结果";
/*
    char T[8]={"键数目Ix","R1","R2","试验键距D","rx=nx/nA","共价电子数n","理论键距Do","误差|D-Do|"};
    for (int i=0;i<=8;i++)
    {
        cout << T[i] <<" ";
    }
*/   
   
    cout << "键数目Ix" << " " << "R1" << " " << "R2" << " " << "试验键距D"
         << "rx=nx/nA" << " " << "共价电子数n" << " " << "理论键距Do" << " " << "误差|D-Do|" << endl;
   
    for(int i=1;i<=Ix+1;i++)
    {
        for(int j=1;j<=8;j++)
        {
            cout << M[i][j] <<" ";
        }
        cout << endl;
    }
    return 0;
}


整个程序没有太大的问题,主要有:
1、   int a=Ix+1; 这一行少了“ ; 
2、几个临时定义的 i 和 j ,因为是临时定义,要加上 int;
3、char T[] 由于所用到是字符串数组,而不是字符数组,所以仅仅是 char T[] 是不够的。因为是固定的,不如直接在屏幕上输出,
4、pow 的用法不对。pow 用法要有两个参数,一个是底数,另一个是指数,你少了一个指数,即多少次方。程序中的 2 次方是我随意加的,只是表示要有这么一个参数。
  按照上面标红所改,程序应该通过。
2010-07-04 22:14
nfer
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-7-4
收藏
得分:0 
谢谢啦
2010-07-04 23:35
zgj2032037
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-7-5
收藏
得分:0 
厉害
2010-07-06 10:08
菜鸟波波
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-7-8
收藏
得分:0 
高手啊。。咱看到这代码就晕乎了
2010-07-09 10:40
奋博ing
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-7-10
收藏
得分:0 
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int Ix;int i,j;
    cout << "输入不可忽略的键数目";//用来确定数组行数
    cin >> Ix;
    int a=Ix+1;
    float M[100][8];
    cout << "以下输入参数时,请根据实验键距由小到大书序输入相应的I,R,D值";
    for ( i=1;i<=Ix;i++)
    {cout << "请输入实验键距D";
     cin >> M[i][4];//存储实验键距
     cout << "请输入第"<<i<<"个键的等同键数Ia值";
     cin >> M[i][1];   
     cout << "请输入第"<<i<<"个键的两端原子R(1)值,用空格分开,回车";
     cin >> M[i][2]>>M[i][3];//用来存储两端原子的R(1)
    }
    float Znc,B;//定义单元内总电子数和B值
    cout << "请输入B值";
    cin >> B;
    float N=M[1][1];//计算价电子总数公式的一部分,Ia+Ib*rb+Ic*rc
    for ( i=2;i<=Ix;i++)
    {
        M[i][5]=pow((M[i][2]+M[i][3]-M[i][4]-M[1][2]-M[1][3]+M[1][4])/B,2);
        N=N+M[i][1]*M[i][5];
    }
    M[1][6]=Znc/N;//计算出na,第一个键的共价电子数
    for ( i=2;i<=Ix;i++)
    {
        M[i][6]=M[1][6]*M[i][5];//计算出各个键的共价电子数
    }
    for ( i=1;i<=Ix;i++)
    {
        M[i][7]=M[i][2]+M[i][3]-B*log10(M[i][6]);//计算出理论键距
        M[i][8]=abs(M[i][7]-M[i][4]);//计算误差,取绝对值
    }
    cout << "计算结果";
/*
    char T[8]={"键数目Ix","R1","R2","试验键距D","rx=nx/nA","共价电子数n","理论键距Do","误差|D-Do|"};
    for (int i=0;i<=8;i++)
    {
        cout << T[i] <<" ";
    }
*/   
   
    cout << "键数目Ix" << " " << "R1" << " " << "R2" << " " << "试验键距D"
         << "rx=nx/nA" << " " << "共价电子数n" << " " << "理论键距Do" << " " << "误差|D-Do|" << endl;
   
    for( i=1;i<=Ix+1;i++)
    {
        for( j=1;j<=8;j++)
        {
            cout << M[i][j] <<" ";
        }
        cout << endl;
    }
    return 0;
}
2010-07-10 22:12
雅雅
Rank: 2
等 级:论坛游民
帖 子:38
专家分:34
注 册:2010-7-4
收藏
得分:0 
你的题目在哪里?
2010-07-11 18:33
快速回复:小弟初学C++,编个程序但是编译不了,请教一下高人
数据加载中...
 
   



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

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