C语言练习【1】

mac2022-06-30  95

现在来通过练习来进一步了解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= - ", 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); } } }

结果为 本次练习就到这里啦,天下无难事只怕有心人,最可贵的品质是坚持下去,加油!

最新回复(0)