本記事はC言語をfor文くらいまで学習した大学1年生を対象として、プログラミングの魅力とプログラミング的思考力を伝えるための教材です。
prime1.c
//benngaku c 0515_prime1.c
#include <stdio.h>
int main(void){
int n;
printf("n=");
scanf("%d",&n);
if(n==0){
printf("?\n");
}else if(n==1){
printf("NO\n");
}else if(n==2){
printf("PRIME\n");
}else if(n==3){
printf("PRIME\n");
}else if(n==4){
printf("NO\n");
}else if(n==5){
printf("PRIME\n");
}
return 0;
}
prime2.c
//benngaku c 0515_prime2.c
#include <stdio.h>
int main(void){
int n,i;
printf("n=");
scanf("%d",&n);
if(n==0){
printf("NO\n");
}else if(n==1){
printf("NO\n");
}else if(n==2){
printf("PRIME\n");
}else{
for(i=2;i<n;i++){
if(n%i==0){
printf("NO\n");
return 0;
}
}
printf("PRIME\n");
}
return 0;
}
prime3.c
//benngaku c 0515_prime3.c
#include <stdio.h>
int main(void){
int n,i;
printf("n=");
scanf("%d",&n);
if(n==0){
printf("NO\n");
}else if(n==1){
printf("NO\n");
}else if(n==2){
printf("PRIME\n");
}else if(n==3){
printf("PRIME\n");
}else if(n==5){
printf("PRIME\n");
}else if(n%2==0){
printf("NO\n");
}else if(n%3==0){
printf("NO\n");
}else if(n%5==0){
printf("NO\n");
}else{
for(i=2;i<n;i++){
if(n%i==0){
printf("NO\n");
return 0;
}
}
printf("PRIME\n");
}
return 0;
}
prime4.c
//benngaku c 0515_prime4.c
#include <stdio.h>
int prime(int n);
int main(void){
int i;
for(i=0;i<100000;i++){
printf("%6d ",i);
if(prime(i)){
printf("True\n");
}else{
printf("False\n");
}
}
return 0;
}
int prime(int n){
int primes[]={2,3,5,7,11};
int i;
if(n==0||n==1){
return 0;
}
for(i=0;i<sizeof(primes)/sizeof(int);i++){
if(n==primes[i]){
return 1;
}else if(n%primes[i]==0){
return 0;
}
}
for(i=13;i<n;i++){
if(n%i==0){
return 0;
}
}
return 1;
}
float.c
//benngaku c 0515_float.c
#include <stdio.h>
int main(void){
float i=16777216;
printf("%f\n",i+1);
return 0;
}
float_for.c
//benngaku c 0515_float_for.c
#include <stdio.h>
int main(void){
for(float i=0;1;i++){
printf("%f\n",i);
}
return 0;
}
while.c
#include <stdio.h>
int main(void){
int i=0;
while(i<5){
printf("for %d\n",i);
i++;
}
printf("%d\n",i);
return 0;
}
for.c
#include <stdio.h>
int main(void){
int i;
for(i=0;i<5;i++){
printf("for %d\n",i);
}
printf("%d\n",i);
return 0;
}