实验四 参考答案
4-1、以下程序实现以直角三角形的形式在屏幕上输出九九乘法表,但实际输出结果如下。请查找原因,并调试程序以实现程序功能。
答案:正确程序:
#include
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%-3d",i,j,i*j);
printf("\n");
}
}
运行结果:
***************************************************************************************4-2********************************************************************
4-2以下程序的功能:计算1-3+5-7+,,,-99+101的值。请选择合适的内容填入空白处。
答案:正确程序:
#include
void main()
{
int i,isign=1,isum=0;
for(i=1;i<=101;i+=2)
{
isum+=i*isign;
isign=-1*isign;
}
printf("sum=%d\n",isum);
}
运行结果:
*****************************************************************************************************实验三***************************************************
4-3下面程序的功能:输出200以内个位数为6且能被3整除的所有数。
答案:正确程序:
#include
void main()
{
int i;
printf("200以内个位数字为6且能被3整除的所有数位:\n");
for(i=0;i<=200;i++)
{
if(i%10==6 && i%3==0)
printf("%5d",i);
}
printf("\n");
}
、
运行结果:
*********************************************************************************************************实验四**********************************************
4-4:分别有while语句、do,,,while语句及for语句编写一个程序,计算sum=1+2+3+,,,+100的结果。
答案:
1.利用while循环结构:
#include
void main()
{
int sum=0,i=1;
while(i<=100)
{
sum+=i;
i++;
}
printf("1+2+3...+100=%d\n",sum);
}
利用do.......while结构程序:
#include
void main()
{
int i=1,sum=0;
do
{
sum+=i;
i++;
}
while(i<=100);
printf("1+2+3...+100=%d\n",sum);
}
利用for语句的程序:
#include
void main()
{
int sum=0,i;
for(i=1;i<=100;i++)
sum+=i;
printf("1+2+3+...+100=%d\n",sum);
}
*******************************************************************************************************实验五************************************************
4-5、编写输出如图2-3所示的图形。
答案:
#include
void main()
{
int i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=(4-i);j++)
printf("%c",' ');
for(j=1;j<=2*i-1;j++)
printf("%c",'*');
printf("\n");
}
for(i=1;i<=3;i++)
{
for(j=1;j<=