现在来通过练习来进一步了解C语言这种编程语言。
首先第一题:打印100~200之间的素数
要打印素数首先要知道素数的概念,即在大于1的自然数中,除了1和它本身以外不再有其他因数。
那么可以确认编程思路,即通过循环结构,让100-200之间的每一个整数都与每一个比自身小的正数相除取余,如果余数为0则证明除了1和该数本身,还有另外的数字能整除,即该数不是素数。而如果只有自身能整除自身(数字1已经确认可以整除),那么该数即为素数。以下是我的代码:
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
for (j = 2; j<i; j++)
{
if (i%j == 0)
break;
}
if (j == i)
{
printf("%d ", i);
}
}
return 0;
}
结果为
我们可以看到,在第一个循环语句中,当确认该数字不是素数后,即用break语句跳出本次循环,开始验证下一个数字。当所有数字验证完毕之后,只有本身可以整除,那么该数即为素数,打印出来。在打印的%d之后加一个小空格,有助于结果的美观。
第二题:输出九九乘法口诀表
要输出九九乘法口诀表,其实相当简单,只需要用两个循环嵌套起来即可解决问题,只是其中有一些细节应该注意。我们先来写代码;
int main()
{
int i = 0, j = 0,k=0;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
k = i*j;
printf("%d x %d= %d ", i,j,k);
printf("\n");
}
}
return 0;
}
写完这串代码后兴奋的点开了调试,结果是没问题了,但是却发现相当的不美观,跟我们平时见到的99乘法表简直有天壤之别,所以,为了程序输出结果的美观,我们需要将乘法表左侧对其,并且加上一行判断换行的语句,经过更改是下面这样:
{
int i = 0, j = 0,k=0;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
k = i*j;
printf("%d x %d= %2d ", j,i,k);
if (i == j)
printf("\n");
}
}
return 0;
}
现在输出结果就变得漂亮多了:
第三题:判断1000年—2000年之间的闰年
闰年,这是一个和我们生活息息相关的话题,闰年分为;
普通闰年:公历年份是4的倍数的,一般是闰年;
世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年;
以上两种都称作闰年,那么我们可以用一个循环一步到位的解决这个简单的问题:
int main()
{
int i = 0;
printf("1000年到2000年之间的闰年有:");
for (i = 1000; i <= 2000; i++)
{
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
{
printf("%d ",i);
}
}
}
结果为
本次练习就到这里啦,天下无难事只怕有心人,最可贵的品质是坚持下去,加油!