【程序1-1】 下面的程序实现了:从键盘输入n,然后计算并输出1+2+3+……+n的和。
输入样例:100
输出样例:5050
运行结果:
【程序1-2】 参考【程序1-1】的源程序代码,实现:从键盘输入n,然后计算并输出1+1/2+1/3+1/4+1/5+1/6+1/7……+1/n的和。要求结果保留2位小数。
提示:注意数据类型的问题。
要求:练习使用单步调试,并截取调试界面。
输入:3
输出:1.83
输入:10
输出:2.93
代码:
#include <stdio.h>
int main ( void )
{
int i,n;
double sum,t;
sum=0.00;
scanf ( "%d" , &n ) ;
for ( i = 1 ; i<=n ; i++ )
{
t=1.0/i;
sum=sum+t;
}
printf ( "%.2f\n" , sum ) ;
return 0;
}
运行结果:
调试界面:
【程序1-3】 在【程序1-1】源代码的基础上继续改写,编程实现:从键盘输入n,然后计算并输出1+1/3+1/5+1/7+1/9……前n项的和。要求结果保留2位小数。
输入:3
输出:1.53
输入:10
输出:2.13
代码:
#include <stdio.h>
int main ( void )
{
int i,n,m;
double sum,t;
m=1;
sum=0.00;
scanf ( "%d" , &n ) ;
for ( i = 1 ; i<=n ; i++ )
{
t=1.0/m;
sum=sum+t;
m=m+2;
}
printf ( "%.2f\n" , sum ) ;
return 0;
}
运行结果:
【程序1-4】编程实现:从键盘输入n,然后计算并输出1-1/3+1/5-1/7+1/9……前n项的和。要求结果保留2位小数。
输入:3
输出:0.87
代码:
#include <stdio.h>
int main ( void )
{
int i,n,m,p;
double sum,t;
m=1;p=1;
sum=0.00;
scanf ( "%d" , &n ) ;
for ( i = 1 ; i<=n ; i++ )
{
t=p*1.0/m;
sum=sum+t;
p=-p;
m=m+2;
}
printf ( "%.2f\n" , sum ) ;
return 0