c++-帮忙看下代码,运行不了了,哪里有问题麻烦指出来下谢谢~!麻烦修改下 谢谢!

问题描述

帮忙看下代码,运行不了了,哪里有问题麻烦指出来下谢谢~!麻烦修改下 谢谢!

#include
#include
using namespace std;
int min(int n, int m);
int max(int n, int m);
const int N = 50;
void Read_Store(int Number[N], int &length);
void Add_Output();
int main()
{

    cout<<" This is a calculate number program"<<endl;

}

int min(int n,int m)
{
return (n<m) ? n : m;
}

int max(int n,int m)
{
return (n>m) ? n : m;
}

void Read_Store(int Number[N],int &length)
{
string num ;
int i;
cout<<"please input a number:";
cin>>num;
length = num.length();
for (i = 0; i < length; i++)
{
Number[i] = num[length - 1 - i] - '0';
}
}
void Add_Output()
{
int i,carry;
int strlen_num1,strlen_num2;
int Num1[N],Num2[N],Result[N];
int minnum,maxnum;

Read_Store(Num1,strlen_num1);
Read_Store(Num2,strlen_num2);

minnum = min(strlen_num1,strlen_num2);
maxnum = max(strlen_num1,strlen_num2);

carry = 0;
for(i=0;i<minnum;i++)
{
    Result[i] = (Num1[i] + Num2[i] + carry) % 10;
    carry = (Num1[i] + Num2[i] + carry)/10;
}

if(strlen_num1>minnum)
{
    for(i=minnum;i<strlen_num1;i++)
    {
        Result[i] = (Num1[i]+ carry) % 10;
        carry = (Num1[i]+ carry)/10;

    }
}

if(strlen_num2>minnum)
{
    for(i=minnum;i<strlen_num2;i++)
    {
        Result[i] = (Num2[i]+ carry) % 10;
        carry = (Num2[i]+ carry)/10;
    }
}

if(carry>0)
{
    Result[maxnum] = 1;
    maxnum++;
}
cout<<"Result:";
for(i=maxnum-1;i>=0;i--)
{
    cout<<Result[i];
}
cout<<endl;

system("pause");
return ;

}

int main 的函数 要求放在第一位,可是我就是运行不了。。为什么。。

解决方案

什么叫运行不了?

头文件看不到,包含以下两个就可以了

#include<iostream>
#include<string>

解决方案二:

这原码

#include
#include
using namespace std;

const int N=50;
int min(int n,int m)//返回两个数中的最小一个数
{
return (n<m) ? n : m;
}

int max(int n,int m)//返回两个数中的最大一个数
{
return (n>m) ? n : m;
}

void Read_Store(int Number[N],int &length)
{
string num ;
int i;
cout<<"please input a number:";
cin>>num;
length = num.length();
for(i=0;i<length;i++)
{
Number[i] = num[length-1-i] - '0';//字符转化为整数
}
}
void Add_Output()//两个长整数相加
{
int i,carry;
int strlen_num1,strlen_num2;//数字1的长度,数字2的长度
int Num1[N],Num2[N],Result[N];
int minnum,maxnum;//两个数中长度最大的一个

Read_Store(Num1,strlen_num1);
Read_Store(Num2,strlen_num2);

minnum = min(strlen_num1,strlen_num2);
maxnum = max(strlen_num1,strlen_num2);

carry = 0;//进位初始为0
for(i=0;i<minnum;i++)
{
    Result[i] = (Num1[i] + Num2[i] + carry) % 10;
    carry = (Num1[i] + Num2[i] + carry)/10;
}

if(strlen_num1>minnum)
{
    for(i=minnum;i<strlen_num1;i++)
    {
        Result[i] = (Num1[i]+ carry) % 10;
        carry = (Num1[i]+ carry)/10;

    }
}

if(strlen_num2>minnum)
{
    for(i=minnum;i<strlen_num2;i++)
    {
        Result[i] = (Num2[i]+ carry) % 10;
        carry = (Num2[i]+ carry)/10;
    }
}

if(carry>0)//最后一位有进位
{
    Result[maxnum] = 1;
    maxnum++;
}
cout<<"Result:";
for(i=maxnum-1;i>=0;i--)
{
    cout<<Result[i];
}
cout<<endl;

}

int main()
{
Add_Output();
return 0;
}

如何将int main() 里的程序 放在开头,并让程序运行

解决方案三:

像是这样么?

解决方案四:

直接放上来啊。。函数声明一下就可以了啊

#include<iostream>
#include<string>
using namespace std;
const int N=50;

int min(int n, int m);
int max(int n, int m);
void Read_Store(int Number[N], int &length);
void Add_Output();

int main()
{
    Add_Output();
    return 0;
}

int min(int n,int m)//返回两个数中的最小一个数
{
    return (n<m) ? n : m;
}

int max(int n,int m)//返回两个数中的最大一个数
{
    return (n>m) ? n : m;
}

void Read_Store(int Number[N],int &length)
{
    string num ;
    int i;
    cout<<"please input a number:";
    cin>>num;
    length = num.length();
    for(i=0;i<length;i++)
    {
        Number[i] = num[length-1-i] - '0';//字符转化为整数
    }
}
void Add_Output()//两个长整数相加
{
    int i,carry;
    int strlen_num1,strlen_num2;//数字1的长度,数字2的长度
    int Num1[N],Num2[N],Result[N];
    int minnum,maxnum;//两个数中长度最大的一个

    Read_Store(Num1,strlen_num1);
    Read_Store(Num2,strlen_num2);

    minnum = min(strlen_num1,strlen_num2);
    maxnum = max(strlen_num1,strlen_num2);

    carry = 0;//进位初始为0
    for(i=0;i<minnum;i++)
    {
        Result[i] = (Num1[i] + Num2[i] + carry) % 10;
        carry = (Num1[i] + Num2[i] + carry)/10;
    }

    if(strlen_num1>minnum)
    {
        for(i=minnum;i<strlen_num1;i++)
        {
            Result[i] = (Num1[i]+ carry) % 10;
            carry = (Num1[i]+ carry)/10;

        }
    }

    if(strlen_num2>minnum)
    {
        for(i=minnum;i<strlen_num2;i++)
        {
            Result[i] = (Num2[i]+ carry) % 10;
            carry = (Num2[i]+ carry)/10;
        }
    }

    if(carry>0)//最后一位有进位
    {
        Result[maxnum] = 1;
        maxnum++;
    }
    cout<<"Result:";
    for(i=maxnum-1;i>=0;i--)
    {
        cout<<Result[i];
    }
    cout<<endl;
}

结果:

时间: 2024-11-29 22:13:56

c++-帮忙看下代码,运行不了了,哪里有问题麻烦指出来下谢谢~!麻烦修改下 谢谢!的相关文章

大神帮忙看下面代码运行后怎么写入txt文件????

问题描述 大神帮忙看下面代码运行后怎么写入txt文件???? #include #include #include #include #include //输入/输出文件流类 using namespace std; const int Maxr=100;//最多的读者 const int Maxb=100;//最多的图书 const int Maxbor=5;//每位读者最多借五本书 //读者类,实现对读者的信息的描述 class Reader { private: int tag; //删除

帮忙看一下代码,问几个关于Java组合框的问题

问题描述 帮忙看一下代码,问几个关于Java组合框的问题 import java.awt.*; import javax.swing.*; public class JComboBoxExample extends JFrame { JComboBox comboBox1,comboBox2;//定义两个组合框 String cityNames[]={"北京","上海","重庆","南京","武汉",&qu

调试 命令行-请各位大神帮忙看句代码

问题描述 请各位大神帮忙看句代码 各位大神请看: Linux下(bof.c文件): #include int main(int argc, char **argv) { char buffer[256]; if(argc != 2) { exit(0); } printf("%pn", buffer); strcpy(buffer, argv[1]); printf("%sn", buffer); return 0; } 然后编译: $ gcc -m64 bof.c

javaeye-没找到问题在哪!!大神帮忙看一下代码(JSP使用JSTL的c:forEach标签显示数据怎么不管用

问题描述 没找到问题在哪!!大神帮忙看一下代码(JSP使用JSTL的c:forEach标签显示数据怎么不管用 <form name="myform" method="post" action="newstypeservlet?op=batchDelete"> <table border="1"> <tr> <th>编号</th> <th>类型名</t

string-关于java,有哪位大神能帮忙看这代码分别是什么意思吗?

问题描述 关于java,有哪位大神能帮忙看这代码分别是什么意思吗? case StreamTokenizer.TT_NUMBER: s = Double.toString(st.nval); break; case StreamTokenizer.TT_WORD: s = st.sval; // Already a String break; default: // single character in ttype s = String.valueOf((char)st.ttype); } i

html5-急求教!请JS或H5高手帮忙看个代码,代码中哪段是控制(图片)最大播放数量的?

问题描述 急求教!请JS或H5高手帮忙看个代码,代码中哪段是控制(图片)最大播放数量的? 我是新手,看不太明白,求教... 目前的代码是有10张图片顺序播放,但是我希望只播放3张,也就是最大播放数量控制在3以内. 非常感谢!!! (function(){ var now = { row:1, col:1 }, last = { row:0, col:0}; const towards = { up:1, right:2, down:3, left:4}; var isAnimating = fa

帮忙看一下代码问题

问题描述 我从txt读出了2个时刻12:00和12:10form2窗体运行5s自动关闭但是我这个代码如果只一个时刻,比如说12:00的时候,他会正常运行.但是有2个时刻的form2就会从12:00一直打开到12:10DimreaderAsNewSystem.IO.StreamReader("d:test.txt")DimreaAsStringDimwzAsIntegerDimtime1AsDateTimeFori=0Tolstxianshi.Items.Count-1rea=reade

我是一个.net实习生,求帮忙看一下代码 告诉我应该去看什么知识点

问题描述 这个框架好像说是service->facadde->repository(.net后台)我也不太懂公司就给我这么些代码让我自己看有问题去问我之前看了控制反转和依赖注入,现在不知道要看什么知识点,所以来求助 解决方案 解决方案二:没用过这种方式,自己看看设计模式

请高手帮忙看一下代码

问题描述 汗!代码比较多!但是真的不知道为什么会错,请教高手,十分感谢!!!<%@pagelanguage="java"contentType="text/html;charset=gb2312"import="java.util.*,java.sql.*"pageEncoding="GB2312"%><linkrel="stylesheet"href="css/code43.c

请牛人帮忙看一下代码哪里错了

问题描述 rgbBitmap是装载bmp图像数据部分的内容,此程序的目的是想把内存中的图像数据在pictureBox中显示.但是不知道为什么总是在倒数第二行出现一个这样的异常:未处理的"System.ArgumentException"类型的异常出现在system.drawing.dll中.其他信息:使用了无效参数.Image*myImage;MemoryStream*myStream;myStream=newMemoryStream;BinaryWriter*myWriter;myW