- 5月 20 週二 201410:58
[長知識] C語言 - 新手篇章 - 方法 - 幾的幾次方
- 5月 20 週二 201410:57
[長知識] C語言 - 新手篇章 - 排序法 - 氣泡排序法
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
//排序法 - 氣泡排序法
int num[] = {2, 8,7,30, 14, 66, 95,100, 1};
int sortsize = sizeof(num)/sizeof(int);
int i, j, k;
//i< sortsize -1 : 沒有必要判斷到最後
for(i =0 ;i< sortsize -1 ; i++){
// j =i+1 : 沒有必要跟自己判斷
for(j =i+1; j<sortsize; j++){
//最小的拉到最前面
if(num[i]>num[j]){
int temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}
for(k=0 ; k<sortsize ;k++){
printf("%i\n", num[k]);
}
return 0;
}
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
//排序法 - 氣泡排序法
int num[] = {2, 8,7,30, 14, 66, 95,100, 1};
int sortsize = sizeof(num)/sizeof(int);
int i, j, k;
//i< sortsize -1 : 沒有必要判斷到最後
for(i =0 ;i< sortsize -1 ; i++){
// j =i+1 : 沒有必要跟自己判斷
for(j =i+1; j<sortsize; j++){
//最小的拉到最前面
if(num[i]>num[j]){
int temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}
for(k=0 ; k<sortsize ;k++){
printf("%i\n", num[k]);
}
return 0;
}
- 5月 20 週二 201410:54
[長知識] C語言 - 新手篇章 - 二維陣列介紹
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
//二維陣列
int ary[][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
//第0維,第0個,為1
//第0維,第1個,為2
//第0維,第2個,為3
//第0維,第3個,為4
//第1維,第0個,為5
//第1維,第1個,為6
//第1維,第2個,為7
//第1維,第3個,為8
//第2維,第0個,為9
//第2維,第1個,為10
//第2維,第2個,為11
//第2維,第3個,為12
int i, j;
//外層迴圈,數字不動
int a = sizeof(ary)/sizeof(ary[0]);
int b = sizeof(ary[0])/sizeof(int);
for(i= 0; i<a; i++){
for(j =0; j<b ; j++){
printf("第%i維,第%i個,為%i\n", i, j, ary[i][j]);
//printf("(%i,%i)=%i\n", i, j, ary[i][j]);
}
}
return 0;
}
#include <stdlib.h>
int main(int argc, char *argv[]) {
//二維陣列
int ary[][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
//第0維,第0個,為1
//第0維,第1個,為2
//第0維,第2個,為3
//第0維,第3個,為4
//第1維,第0個,為5
//第1維,第1個,為6
//第1維,第2個,為7
//第1維,第3個,為8
//第2維,第0個,為9
//第2維,第1個,為10
//第2維,第2個,為11
//第2維,第3個,為12
int i, j;
//外層迴圈,數字不動
int a = sizeof(ary)/sizeof(ary[0]);
int b = sizeof(ary[0])/sizeof(int);
for(i= 0; i<a; i++){
for(j =0; j<b ; j++){
printf("第%i維,第%i個,為%i\n", i, j, ary[i][j]);
//printf("(%i,%i)=%i\n", i, j, ary[i][j]);
}
}
return 0;
}
- 5月 20 週二 201410:53
[長知識] C語言 - 新手篇章 - 陣列介紹
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
//陣列(Array)
//ary[3] 表示 陣列大小為3 (ary[0], ary[1], ary[2])
int ary[];
ary[0] =5;
ary[1] =10;
ary[2] =15;
printf("總和:%i\n", ary[0]+ary[1]+ary[2]);
//越來越簡短
int ary_2[]={5, 10, 15};
int i;
//ary_2[]內有num個
int num = sizeof(ary_2)/sizeof(int);
for(i=0; i< num; i++){
printf("index%i內容為:%i\n",i ,ary_2[i]);
}
return 0;
}
#include <stdlib.h>
int main(int argc, char *argv[]) {
//陣列(Array)
//ary[3] 表示 陣列大小為3 (ary[0], ary[1], ary[2])
int ary[];
ary[0] =5;
ary[1] =10;
ary[2] =15;
printf("總和:%i\n", ary[0]+ary[1]+ary[2]);
//越來越簡短
int ary_2[]={5, 10, 15};
int i;
//ary_2[]內有num個
int num = sizeof(ary_2)/sizeof(int);
for(i=0; i< num; i++){
printf("index%i內容為:%i\n",i ,ary_2[i]);
}
return 0;
}
- 5月 20 週二 201410:52
[長知識] C語言 - 新手篇章 - for和if應用 - 電梯程式
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
//電梯 break, continue
int floor=101;
int i, find;
printf("先生請問幾樓?");
scanf("%i", &find);
for(i= 1; i<=floor ; i++){
//目前到幾樓
//人要不要出去
//到頂樓了
if(find == i){
printf("先生,%iF到了\n", find);
break;
}else if(i<floor){
printf("目前為%iF\n", i);
//continue : i如果小於101就會一直印下去
continue;
}
printf("到頂樓了,滾!");
}
return 0;
}
#include <stdlib.h>
int main(int argc, char *argv[]) {
//電梯 break, continue
int floor=101;
int i, find;
printf("先生請問幾樓?");
scanf("%i", &find);
for(i= 1; i<=floor ; i++){
//目前到幾樓
//人要不要出去
//到頂樓了
if(find == i){
printf("先生,%iF到了\n", find);
break;
}else if(i<floor){
printf("目前為%iF\n", i);
//continue : i如果小於101就會一直印下去
continue;
}
printf("到頂樓了,滾!");
}
return 0;
}
- 5月 20 週二 201410:50
[長知識] C語言 - 新手篇章 - 巢狀for迴圈的應用 - 9x9乘法表
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
//巢狀for迴圈 - 9x9乘法表
//2x1=2 3x1=3 4x1=4 5x1=5 6x1=6 7x1=7 8x1=8 9x1=9
//2x2=4 3x2=6 4x2=8 5x2=10 6x2=12 7x2=14 8x2=16 9x2=18
//2x3=6 3x3=9 4x3=12 5x3=15 6x3=18 7x3=21 8x3=24 9x3=27
//2x4=8 3x4=12 4x4=16 5x4=20 6x4=24 7x4=28 8x4=32 9x4=36
//2x5=10 3x5=15 4x5=20 5x5=25 6x5=30 7x5=35 8x5=40 9x5=45
//2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 7x6=42 8x6=48 9x6=54
//2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 8x7=56 9x7=63
//2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 9x8=72
//2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
//jxi=j*i
int i, j;
for(i=1; i<=9; i++){
//當外層迴圈不變時,內層迴圈一直改變,也就是i=1時,j=2,3...,9
for(j=2; j<=9; j++){
// \t作格式化
printf("%ix%i=%i\t", j, i, i*j);
}
printf("\n");
}
return 0;
}
#include <stdlib.h>
int main(int argc, char *argv[]) {
//巢狀for迴圈 - 9x9乘法表
//2x1=2 3x1=3 4x1=4 5x1=5 6x1=6 7x1=7 8x1=8 9x1=9
//2x2=4 3x2=6 4x2=8 5x2=10 6x2=12 7x2=14 8x2=16 9x2=18
//2x3=6 3x3=9 4x3=12 5x3=15 6x3=18 7x3=21 8x3=24 9x3=27
//2x4=8 3x4=12 4x4=16 5x4=20 6x4=24 7x4=28 8x4=32 9x4=36
//2x5=10 3x5=15 4x5=20 5x5=25 6x5=30 7x5=35 8x5=40 9x5=45
//2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 7x6=42 8x6=48 9x6=54
//2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 8x7=56 9x7=63
//2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 9x8=72
//2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
//jxi=j*i
int i, j;
for(i=1; i<=9; i++){
//當外層迴圈不變時,內層迴圈一直改變,也就是i=1時,j=2,3...,9
for(j=2; j<=9; j++){
// \t作格式化
printf("%ix%i=%i\t", j, i, i*j);
}
printf("\n");
}
return 0;
}
- 5月 17 週六 201413:46
[長知識] C語言 - 新手篇章 - 利用do while迴圈做出倒數計時
- 5月 17 週六 201413:45
[長知識] C語言 - 新手篇章 - 前置遞增&後置遞增
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
// do-while loop
// 無論如何先做一次內容再做判斷
// do{ }while();
// do無論如何都會先做一圈
int i=0, sum=0;
do{
sum += i;
i++;
}while(i<=10);
printf("%i", sum);
//後置遞增
int a=10;
printf("%i", a++); //印10
printf("%i", a); //印11
//前置遞增
int b=10;
printf("%i", ++b); //印11
printf("%i", b); //印11
return 0;
}
#include <stdlib.h>
int main(int argc, char *argv[]) {
// do-while loop
// 無論如何先做一次內容再做判斷
// do{ }while();
// do無論如何都會先做一圈
int i=0, sum=0;
do{
sum += i;
i++;
}while(i<=10);
printf("%i", sum);
//後置遞增
int a=10;
printf("%i", a++); //印10
printf("%i", a); //印11
//前置遞增
int b=10;
printf("%i", ++b); //印11
printf("%i", b); //印11
return 0;
}
- 5月 17 週六 201413:44
[長知識] C語言 - 新手篇章 - do while迴圈
- 5月 17 週六 201413:42
[長知識] C語言 - 新手篇章 - while迴圈相加總合以及while迴圈病毒
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
// while迴圈
// while(B),B表示判斷式
//印出0到9
int i=0;
while(i<10){
printf("%i", i);
i++;
}
//無窮迴圈,程式準備當
while(1){
printf("窮迴圈");
}
//for, while, if 混著用可以達到同樣結果
//10 9 8 7 6 5 4 3 2 1 時間到
int time;
for(time=10; time>=0; time--){
if(time>0){
printf("%i\n", time);
}else{
printf("時間到");
}
}
int time2=10;
while(time2>=0){
if(time2>0){
printf("%i\n", time2);
}else{
printf("時間到");
}
time2--;
}
return 0;
}
#include <stdlib.h>
int main(int argc, char *argv[]) {
// while迴圈
// while(B),B表示判斷式
//印出0到9
int i=0;
while(i<10){
printf("%i", i);
i++;
}
//無窮迴圈,程式準備當
while(1){
printf("窮迴圈");
}
//for, while, if 混著用可以達到同樣結果
//10 9 8 7 6 5 4 3 2 1 時間到
int time;
for(time=10; time>=0; time--){
if(time>0){
printf("%i\n", time);
}else{
printf("時間到");
}
}
int time2=10;
while(time2>=0){
if(time2>0){
printf("%i\n", time2);
}else{
printf("時間到");
}
time2--;
}
return 0;
}
