C語言入門常寫的三個程式碼
阿新 • • 發佈:2018-11-05
今天我們要看的是C語言常寫的三個程式碼。
- 列印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;
}
執行結果: