源程序如下:
#include<stdio.h>
void main()
{
int i,j,n;
long int sum=0,temp;
char k;
do
{
{
printf("Please input a number to n:\n");
scanf("%d",&n);
if(n<1)
{
printf("The n must be no less than 1!\n");
break;
}
for(i=1;i<=n;i++)
{
temp=0;
for(j=1;j<=i;j++)
temp+=j;
sum+=temp;
}
printf("The sum of the sequence(%d) is %d\n",n,sum);
scanf("%c",&k);
}while(k='y')
}
请问这个程序为什么不能执行printf("The sum of the sequence(%d) is %d\n",n,sum);语句后的scanf("%c",&k);
do while 循环不能实现?该程序在vc下调试通过,但运行有问题
----------------解决方案--------------------------------------------------------
漏了些东西,提示有的,想实现什么功能啊sequence(3)=10?是你想要的么?
----------------解决方案--------------------------------------------------------
去除do while循环,该程序实现的是数列求和,1+1+2++1+2+3+......+1+2+3+.....n
我的意思是加上一个循环,计算完一次后,提示你是否还要继续计算,如果是的话,就在计算一次
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
int i,j,n;
long int sum=0,temp;
char k='y';
do
{
printf("Please input a number to n:\n");
scanf("%d",&n);
if(n<1)
{
printf("The n must be no less than 1!\n");
continue;
}
for(i=1;i<=n;i++)
{
temp=0;
for(j=1;j<=i;j++)
temp+=j;
sum+=temp;
}
printf("The sum of the sequence(%d) is %d\n",n,sum);
getchar(); //fflush(stdin);清除回车
scanf("%c",&k);
}while(k=='y');
getch();
}
楼主真是个粗心大萝卜!
----------------解决方案--------------------------------------------------------
while(k=='y')
看好 这里是==才可以
要不你那个条件就恒成立
----------------解决方案--------------------------------------------------------
scanf("%c",&k);由于你前面输入数字的时候有个回车,这个回车就被这条语句接收了,所以呢,这语句起不了作用的!
----------------解决方案--------------------------------------------------------
细节问题。
楼主可以用输入一个整数代替‘y',while(flag!=0)
楼主的do while();后面缺了分号。
----------------解决方案--------------------------------------------------------
谢谢大家的指导,尤其是4楼和6楼的高人,
我想在请教一下6楼的高人,为什么scanf("%c",&k);由于前面输入数字的时候有个回车,这个回车就会被这条语句接收
谢谢
----------------解决方案--------------------------------------------------------
因为你要接收的是字符,而刚好前面你输出有个换行符。
如果你要输入的是个int就不会出现这样的情况了。
----------------解决方案--------------------------------------------------------
多谢多谢
学到不少东西,nuciewth,多谢了
----------------解决方案--------------------------------------------------------