根据n,计算如下公式的值.s=1/1+1/2+1/3+.+1/n 例如,若输入5,则应输出2.28333哪里错了,用什么语句好?输入什么都是弹出1...int a = int.Parse(textBox1.Text);int sum = 0;int b = 0;while ( a = 0){b = b+1 / a;sum = sum + b;a = a - 1;}if(a==0)MessageBox.Show(sum.ToString());刚学的,对这些语句还不懂,改了,还是弹出1.
问题描述:
根据n,计算如下公式的值.s=1/1+1/2+1/3+.+1/n 例如,若输入5,则应输出2.28333
哪里错了,用什么语句好?
输入什么都是弹出1...
int a = int.Parse(textBox1.Text);
int sum = 0;
int b = 0;
while ( a = 0)
{
b = b+1 / a;
sum = sum + b;
a = a - 1;
}
if(a==0)
MessageBox.Show(sum.ToString());
刚学的,对这些语句还不懂,改了,还是弹出1.
答
Sum是一个小数,而你这里把Sum定意成一个int的整形,结果会自动取整.
int Sum=0;改为double Sum=0;或 float Sum=0
最好把a也改为浮点数.
double a = double.Parse(textBox1.Text);
double sum = 0;
while ( a != 0)
{
sum = sum + 1/a;
a = a - 1;
}
if(a==0)
MessageBox.Show(sum.ToString());