1 对1到1000进行遍历;
2 对每个数值进行判断,如可以被7整除,则输出并累加;
3 退出循环后,输出结果。
不过由于要求是可以被7整除的数,所以,可以取巧,在算法上,从7开始遍历,每次加7,即可确保每个数都是可以被7整除的。
按照这个思想,只需要遍历,输出,加求和即可。
代码如下:
int main()
{
int i,s=0;
for(i = 7; i < 1000; i+=7)
{
printf("%d ", i);
s+=i;
}
printf("\nsum=%d\n",s);
}
vc++6.0,tc 2.0中的程序
#include
main()
{
int sum=0;
int i,n=1;
for (i=1;i<=1000;i++)
{
if (i%7==0)
{
printf("1到1000之间能被7整出的第%d个数%d\n",n,i);
sum+=i;
n++;
}
}
printf("\n");
printf("1到1000之间所有能被7整除的数的和=%d\n",sum);
}
这是对L_o_o_n_i_e的改写,应该看得更明白些,L_o_o_n_i_e在此处(sum=sum + i; }; )多了一个分号。
#include
void main()
{
int sum=0;
int i;
for (i=1;i<=1000;i++)
{
if (i%7 == 0) {
printf("%d\n",i);
sum=sum + i;
};
}
printf("%d\n",sum);
}
C#实现
int n = 0;
int s = 0;
for (int i=1;i<=1000;i++)
{
if (i % 7 == 0)
{
Console.WriteLine("{0}: {1}", n, i);
s += n++;
}
}
Console.WriteLine("s= {0}",s);
Console.ReadLine();