天天看點

學習C語言的第4天

#include <stdio.h>

#include <string.h>

#include <windows.h>

#include <stdlib.h>//sys

#include <math.h>

//列印100~200之間的素數  優化

//16 = 2*8 = 4*4    

//a 和 b 中至少有有一個數字 <= i的開平方

//sqrt -> 開平方 的 數學庫函數

int main()

{

int i;

int count = 0;

for(i=101;i<=200;i+=2)

//偶數隻有 2 是素數

{

 //判斷i是否為素數

 //素數判斷的規則

 //1.試除法

 //産生2 -> i - 1

 int j =0;

 for(j=2;j<=sqrt(i);j++)

 {

  if(i%j==0)

  {

   break;

  }

 }

 if(j>sqrt(i))

 {

  printf(" %d",i);

  count++;

 }

}

printf("\ncount=%d",count);

return 0;

}

int main77()//列印100~200之間的素數

{

int i;

int count = 0;

for(i=100;i<=200;i++)

{

 //判斷i是否為素數

 //素數判斷的規則

 //1.試除法

 //産生2 -> i - 1

 int j =0;

 for(j=2;j<i;j++)

 {

  if(i%j==0)

  {

   break;

  }

 }

 if(j==i)

 {

  printf(" %d",i);

  count++;

 }

}

printf("\ncount=%d",count);

return 0;

}

int main66()//列印1000~2000年之間的閏年

{

 int i = 1000;

 int count = 0;//不知道為什麼未初始化 count = 1

 printf("count=%d\n",count);

for(i =1000;i<=2000;i+=4)

{

 if(i%4==0&&i%100!=0||i%400==0)

 {

  printf("%d是閏年\n",i);

  count++;

 }

}

printf("在1000~2000年\n一共有%d個閏年。\n",count);

 return 0;

}

int main55()//求兩數之間的最大公約數

{

int m =24;

int n =18;

int r;

//scanf("%d%d",m,n);

while(r = m%n)

{

 //r = m % n;

 printf("r=%d\n",r);

 m = n;

 n = r;

}

printf("gcd=%d",n);

return 0;

}

int main44() //1-100 3的倍數

{

int i;

for(i = 0;i<100;i++)

{

 if(i%3 == 0)

 {

  printf("%d\n",i);

 }

}

}

int main33()//将三個數從大到小輸出

{

int a,b,c;

scanf("%d%d%d", &a, &b, &c);

//scanf("%d,%d,%d", &a, &b, &c);//輸入1,2,3

//scanf("%d#%d#%d", &a, &b, &c);//輸入1#2#3

if(a<b)//234  324   423

{

 int tmp = a;

 a =b;

 b =tmp;

}

if(a<c)

{

 int tmp = a;

 a =c;

 c =tmp;

}

if(b<c)

{

 int tmp = b;

 b =c;

 c =tmp;

}

printf("%d  %d  %d\n",a,b,c);

return 0;

}

int main22()

{

//實作登入并且隻能登陸三次

char password[20] = {0};

int i;

printf("請輸入密碼\n");

for(i=0;i<3;i++)

{

 scanf("%s",password);

 //if(password == "123456") == 不能用來比較兩個字元串是否相同 應該使用庫-函數

 //strcmp

 //if(strcmp(password,"123456") == 1)//654321

 if(strcmp(password,"123456\0") == 0)//123456

 {

  printf("輸入正确\n");

  break;

 }

 else

 {

  system("cls");

  printf("輸入錯誤\n");

 }

}

if(i==3)

{

 system("cls");

 printf("輸入錯誤次數太多,請重新登入。\n");

}

return 0;

}

int main11()

{

//welcome to bit !!!

//w################!

//we##############!!

//wel############!!!

char arr1[] = {"welcome to bit!!!!!"};

//字元串系統要自動加\0

//

//              1234567891111111111

//                       0123456789

// char arr[] = {"abc"};

//              [a b c \0]

//               0 2 3  4

//               4-2

char arr2[] = {"                    "};

int left = 0;

// int sz = sizeof(arr1) / sizeof(arr1[0]);//20

// int right = sz - 2;

int right = strlen(arr1)-1;

//strlen 是一個函數,它用來計算指定字元串 str 的長度

int ret = 0;

while(left <= right)

{

 arr2[left] = arr1[left];

 arr2[right] = arr1[right];

 printf("%s\n",arr2);

 //休息一秒

 sleep(1);

 if(ret<right)

  system("cls");

 left++;

 right--;

 ret++;

}

繼續閱讀