一、判斷素數
試題:從鍵盤上輸入一個正整數n,判斷是否為素數。
分析:素數就是只能被1和自身整除的數,判斷素數的算法是,用i=1,2,3.......,n-1去除n,如果i能整除n,說明n不是素數,停止檢驗,否則繼續檢驗i++,如果用2~n-1個數都不能整除n,則輸出n是素數。
程序一
#include<stdio.h> int main() { int i; int n; scanf("%d",&n); for(i=2;i<=n-1;i++) { if(n%i==0) { break; } } if(i>n-1) printf("yes!\n"); else printf("NO!\n"); return 0; }
程序二
#include<stdio.h> int sushu(int n) { int i; if(n<=1) { return 0; } for(i=2;i<=n-1;i++) { if(n%i==0) break; } if(i>n-1) return 1; else return 0; } int main() { int n; scanf("%d",&n); if(sushu(n)) printf("yes!\n"); else printf("No!\n"); return 0; }
程序三
#include<stdio.h> #include<math.h> int sushu(int n) { int i; if(n<=1) { return 0; } for(i=2;i<=sqrt(n);i++) { if(n%i==0) break; } if(i>sqrt(n)) return 1; else return 0; } int main() { int n; scanf("%d",&n); if(sushu(n)) printf("yes!\n"); else printf("No!\n"); return 0; }
break語句的使用規則
1、break語句不能用於循環語句和switch語句之外的其他任何語句中
2、break語句在循環體中一般與if語句配合使用
3、在多層循環中,一個break語句只能向外跳一層,跳轉到最外層需要多次設置break。
continue語句
continue語句的作用是跳過循環體中剩余的語句而強行執行下一次循環。continue語句只用於for,while和do-while等循環體中,通常與if條件語句一起使用。用來加速循環。
continue語句和break語句的區別
continue語句只結束本次循環,繼續執行下一次循環,而不是終止整個循環的執行,而break語句是結束整個循環的執行。
輸出能被3和7整除的3位整數
#include<stdio.h> int main() { int i; for(i=100;i<=999;i++) { if(i%3!=0)continue; if(i%7!=0)continue; printf("%d\n",i); } printf("\n"); return 0; }