C语言程序:计算y=1*3*5*...*15(程序改错)

请帮忙改改错,使其符合题目要求

第1个回答  2013-06-08
#include<stdio.h>
main()
{
int a;
long int y;
a=y=1;
do
{
a=a+2;
y=y*a;
}while(a!=15);
printf("1*3*5*...*15=%d\n",y);
}
do后面要加大括号,while()后加;号
a=a+a;相当于a=2a 这道题是要比前一个加2本回答被提问者采纳
第2个回答  2013-06-08
楼主可能没搞清楚a=y=1的概念,这句话表示把1赋值给y,再把y的值赋给a,所以整个过程中a的值等于y的值,这里要分开赋值才行,至于后面那句a=a+a,我估计应该是楼主没注意才写错的
第3个回答  2013-06-08
已改好
#include<stdio.h>
void main()
{
long y;
int a;
a=1;
y=1;
do{
y=y*a;
a=a+2;//=======================这里,注意顺序
}
while(a<=15);//========================这里
printf("%d",y);

}

希望回答能帮到你,哪里不清楚再问。
第4个回答  2013-06-08
#include<stdio.h>
void main()
{
int a;
long y;
a=y=1;
do{
y*=a;
a+=2;
}while(a<=15);
printf("1*3*5*...15=%ld\n",y);
}
第5个回答  2013-06-08
void main()
{
int a = 1;
long y = 1;

while(a <= 15){

y *=a;

a +=2;
}
printf("1*3*5*...*15 = %d\n",y);
}
相似回答