1. 程式人生 > >C語言入門常寫的三個程式碼

C語言入門常寫的三個程式碼

今天我們要看的是C語言常寫的三個程式碼。

  1. 列印100~200之間的素數
    常用的方法是試除法,解釋一下什麼是試除法。
    “試除”顧名思義就是不斷的嘗試能否整除,比如要判斷一個自然數x是否是質數,就不斷用這個數x去除以小於x且大於1的自然數,只要有一個能整除,則x就是合數,否則x是質數。同樣的思想對100~200之間的數判斷哪些是素數,哪些不是素數。
    我們可以從簡到繁的思路依次看到它的多種境界。
    首先最簡單的一種:
#include<stdio.h>
int main()
{
     int i=0;
     int count=0;
  for(i=100;i<=200;i++)
  {
    //判斷i是否為素數
     int j=0;
    for(j=2;j<i/2;j++)
      {
      if(i%j==0)
       break;
      }
         if(j>=i/2)
           {
             count++;
            printf("%d ",i);
           }
 }
printf("\ncount=%d\n",count);
return 0;
}

進行優化:是i按奇數增加。

#include<stdio.h>
int main()
{
     int i=0;
     int count=0;
  for(i=101;i<=200;i+=2)
  {
    //判斷i是否為素數
     int j=0;
    for(j=2;j<i/2;j++)
      {
      if(i%j==0)
       break;
      }
         if(j>=i/2)
           {
             count++;
            printf("%d ",i);
           }
 }
printf("\ncount=%d\n",c

 1. List item

ount);
return 0;
}

進一步優化:i開平方,減少迴圈次數。

#include<stdio.h>
int main()
{
     int i=0;
     int count=0;
  for(i=101;i<=200;i+=2)
  {
    //判斷i是否為素數
     int j=0;
    for(j=2;j<sqrt(i);j++)
      {
      if(i%j==0)
       break;
      }
         if(j>sqrt(i))
           {
             count++;
            printf("%d ",i);
           }
 }
printf("\ncount=%d\n",count);
return 0;
}

執行結果:在這裡插入圖片描述

2.列印乘法口訣表


    #include<stdio.h>
    int main()
    {
    int i=0;
    int j=0;
    int m=0;
    for(i=1;i<=9;i++)
      {
      for(j=1;j<=i;j++)
         {
         printf("%d*%d=%2d ",i,j,i*j);
         }
         printf("\n");
      }
      return 0;
    }

執行結果:
在這裡插入圖片描述
注意:列印乘法口訣表要注意最後要換行,且間隔可用%2d使其右對齊。

3.列印1000~2000之間的閏年


    #include<stdio.h>
int main()
{
	int year = 0;
	int count = 0;
	for (year = 1000; year <= 2000; year++)
	{
		if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
		{
			printf("%d ", year);
			count++;
		}
	}
	printf("\ncount=%d\n", count);
	return 0;
}

執行結果:
在這裡插入圖片描述