编程学习网 > 编程语言 > C/C++开发 > c语言入门的三个简单程序
2022
11-14

c语言入门的三个简单程序


今天编程学习网为大家讲解c语言入门的三个简单程序,有需要的小伙伴可以参考一下:

一、打印100~200之间的素数
素数:素数又叫质数(prime number),有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。

方法一:
1.思路
  因为素数只能被1和它本身整除,所以我们可以写一个程序,让100到200之间的每一个数都从2开始除,一直除到他的本身减一,如果其中有一个的余数为零,就说明这个数除了本身和1以外,还能被其他数整除,就说明这个数不是素数,不进行打印,反之,则对这个数进行打印。

2.代码如下
#include<stdio.h>
int main()
{
int m, i;
printf("100~200之间的素数有:\n");
for (m = 100; m <= 200; m++)
{
for (i = 2; i <=m-1; i++)
{
if (0 == m % i)
break;
}
if (i >= m)
printf("%d ", m);
}

return 0;
}
3.结果图
如图所示:


方法二:
1.思路
  其实仔细思考就可以发现,如果一个数m它不是素数的话,把那些可以整除它的数全部统计起来的话,就会发现这些数是以m \sqrt m 
m

 为分界线的,所以在我们编写for循环时,终止条件就可以改到m \sqrt m 
m

 ,这样就能更加节省代码运行的时间,使代码更加的高效。

2.代码如下
#include<stdio.h>
#include<math.h>
int main()
{
int m, n,i;
printf("100~200之间的素数有:\n");
for (m = 100; m <= 200; m++)
{
n = (int)sqrt(m);
for (i = 2; i <=n; i++)
{
if (0 == m % i)
break;
}
if (i > n)
printf("%d ", m);
}

return 0;
}

3.结果图
如图所示:


二、打印乘法口诀表
1.思路
  这个程序就很简单了,只需要两个for循环就能后解决了,一个for循环用来控制行的范围,另一个for循环来控制列的范围,然后对数值进行打印就可以了。

2.代码如下
#include<stdio.h>
int main()
{
int m, n;
for (m = 1; m < 10; m++)
{
for (n = 1; n <= m; n++)
{
printf("%3d×%d=%2d",n, m, n * m);
}
printf("\n");
}
return 0;
}

3.结果图
如图所示:


三、输出1000~2000之间的闰年
闰年的判定:1.能被4整除而不能被100整除的为闰年;
      2.或者是能被400整除的闰年。

注:这是一般的判定方法,可能不是那么的准确,更加具体的判断方法请搜索百度。

1.思路
  这个思路就和上面的第一题比较类似了,就是把1000到2000里的每一个数都进行判断,判断其是否符合可以被4整除而不能被100整除,或者是可以被400整除。要对每一个数进行判断可以使用for循环来实现。

2.代码如下
#include<stdio.h>
int main()
{
int n;
printf("1000~2000之间的闰年有:\n");
for (n = 1000; n <= 2000; n++)
{
if ((n % 4 == 0) && (n % 100 != 0) || (n % 400 == 0))
{
printf("%d ", n);
}

}
return 0;
}
3.结果图
如图所示:


四、提升
  有没有感觉这样求固定的东西太死板了,比如我想求100~300之间的素数,我想我可以输入一个范围,它就能打印我想要的结果,这样就能使我的代码更加的高效,更加的人性化,不会那么死板,这样是否可行?
  答案当然是可以的,只需要把那些固定的变量进行一下更改,更改为用scanf()这个函数进行输入,就可以随意更改我们想要的范围了,大家可以试试!然后上面的代码还有一些小的细节,大家可以去理解理解,比如:%3d 这个3的含义是什么 ?等等。

以上就是“c语言入门的三个简单程序”的详细内容,想要了解更多C语言教程欢迎持续关注编程学习网

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取