c++程序没有输出的原因
#include<iostream>intmain(){intsum=0,value;while(std::cin>>value)sum+=value;std::cout...
#include<iostream>
int main()
{
int sum=0, value;
while (std::cin >> value)
sum += value;
std::cout << "Sum is :" << sum << std::endl;
return 0;
} 展开
int main()
{
int sum=0, value;
while (std::cin >> value)
sum += value;
std::cout << "Sum is :" << sum << std::endl;
return 0;
} 展开
2个回答
展开全部
没有输出的原因有好几个:
1)int b=2; for(int b=2;b<=a;b++) 在VC6.0 中会报重复定义。
2)e 没有初始化,以后也没有赋值。
3)循环中的条件错误,应该是c<b, d<b, e<b 。
另外,你的代码写的也不规范,我把他从写了一下,你将 a 的值输为100就能看到输出了。
#include<iostream>
int main(void)
{
using namespace std;
double power(double x, int n);
int a;
cin>>a;
int b, c, d, e;
int bcubed, ccubed, dcubed, ecubed;
b = c = d = e = 2;
for(b=2; b<=a; b++)
{
bcubed = power(b, 3);
for (c=2; c<b; c++)
{
ccubed = power(c, 3);
for (d=2; d<b; d++)
{
dcubed = power(d, 3);
for (e=2; e<b; e++)
{
ecubed = power(e, 3);
if (ccubed + dcubed + ecubed == bcubed)
cout<<"Cube="<<b<<","<<"Triple=("<<c<<","<<d<<","<<e<<")"<<endl;
}
}
}
}
return 0;
}
double power(double x, int n)
{
double result = 1.0;
for(int i=0; i<n; i++)
result *= x;
return result;
}
1)int b=2; for(int b=2;b<=a;b++) 在VC6.0 中会报重复定义。
2)e 没有初始化,以后也没有赋值。
3)循环中的条件错误,应该是c<b, d<b, e<b 。
另外,你的代码写的也不规范,我把他从写了一下,你将 a 的值输为100就能看到输出了。
#include<iostream>
int main(void)
{
using namespace std;
double power(double x, int n);
int a;
cin>>a;
int b, c, d, e;
int bcubed, ccubed, dcubed, ecubed;
b = c = d = e = 2;
for(b=2; b<=a; b++)
{
bcubed = power(b, 3);
for (c=2; c<b; c++)
{
ccubed = power(c, 3);
for (d=2; d<b; d++)
{
dcubed = power(d, 3);
for (e=2; e<b; e++)
{
ecubed = power(e, 3);
if (ccubed + dcubed + ecubed == bcubed)
cout<<"Cube="<<b<<","<<"Triple=("<<c<<","<<d<<","<<e<<")"<<endl;
}
}
}
}
return 0;
}
double power(double x, int n)
{
double result = 1.0;
for(int i=0; i<n; i++)
result *= x;
return result;
}
展开全部
void
distinct(int
alist[])
{
cout
<<
alist[0]
<<
"
";
for
(int
count=1;
count<10;
count++)
{
int
i
=
0;
for(
;
i<count;
i++)
{
if(alist[count]==
alist[i])
{
break;
}
}
if
(i
==
count)
cout<<alist[count]<<
"
";
}
}
以上是正确代码,首先你的第一个错误时把数组的第一个数给漏掉了,因为你用alist[count]==
alist[i]来判断,当count
==
1,i==1时,你相当于是让第一个数和自身比较,当然相等了,所以break掉而没有cout出来。
其次你应该把当前判断的数和他之前的数全部比较一下才知道是否应该打印,你每次都是和数组第一个数比较完就break,当然是错的了!
distinct(int
alist[])
{
cout
<<
alist[0]
<<
"
";
for
(int
count=1;
count<10;
count++)
{
int
i
=
0;
for(
;
i<count;
i++)
{
if(alist[count]==
alist[i])
{
break;
}
}
if
(i
==
count)
cout<<alist[count]<<
"
";
}
}
以上是正确代码,首先你的第一个错误时把数组的第一个数给漏掉了,因为你用alist[count]==
alist[i]来判断,当count
==
1,i==1时,你相当于是让第一个数和自身比较,当然相等了,所以break掉而没有cout出来。
其次你应该把当前判断的数和他之前的数全部比较一下才知道是否应该打印,你每次都是和数组第一个数比较完就break,当然是错的了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询