【项目1:利用循环求和】
求1000以内所有偶数的和
运行结果
运行结果
求1000以内所有偶数的和
要求:请编出3个程序来,分别用三种循环语句完成,注意体会各种循环语句的执行过程及语法特点。
for循环
#include "stdio.h"
int main()
{
int i,sum=0;
for(i=0;i<=1000;i+=2)
{
sum=sum+i;
}
printf("%d\n",sum);
}
#include "stdio.h"
int main()
{
int i=0,sum=0;
while(i<=1000)
{
sum=sum+i;//两个语句顺序。
i+=2;
}
printf("%d\n",sum);
}
#include "stdio.h"
int main()
{
int i=0,sum=0;
do
{
sum+=i;
i+=2;
}
while(i<=1000);
printf("%d\n",sum);
}
运行结果
心得 for循环中三个表达式转换为while循环和do while循环各自表达式放的位置要注意。还有语句顺序要注意。
【项目2:求阶乘】
输入n,求 n! 并输出
#include "stdio.h"
int main()
{
int i,j=1,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
j=i*j;//j的值一直被赋值更新。主要还是对for语句理解不透彻。
}
printf("%d",j);
}
运行结果
心得 对于for循环理解不够深入。本程序在输入的n过大时,会超出整型数据类型表达的范围,产生“溢出”
【项目3:输出这样的整数】
输出1000以内能被3整除且个位数为6的所有整数。
#include "stdio.h"
int main()
{
int i,j;
for(i=0;i<=100;i++)//j在1000之内,且j=i*10;那么i应该就是100
{
j=i*10+6;
if(j%3==0)
printf("%d\n",j);
}
printf("\n");
return 0;
}
运行结果
心得 j在1000以内且j=i*10;那么i应该就是100。若不是给出程序样例,也可以写出如下程序。不过,上面的程序循环次数要少一些,是更好的解决方案。运用逻辑运算符&&
#include <stdio.h>
int main( )
{
int i;
for (i=0;i<1000; i++)
{
if ((i%10==6)&&(i%3==0))
printf("%d ", i);
}
printf("\n");
return 0;
}
【项目4:多数中的最大】
编程序,输入10个整数,找出最大数。
请在下面代码的基础上完成程序:
#include "stdio.h"
int main()
{
int k,x,max;
scanf("%d",&x);
max=x;
for(k=2;k<=10;k++)
{
scanf("%d",&x);
if(x>max)
max=x;
}
printf("Max=%d\n",max);
}
运行结果