C_一維陣列和陣列倒置
阿新 • • 發佈:2021-11-17
C
1. 定義字元陣列 :
char arr [] = {'a','b'}; //陣列推算結果兩個
char brr[] = {"ab"}; //陣列推算三個 'a' 'b' '/0'
字串操作。字元個數 strlen() 引入#include<string.h>
字串結尾標記'\0'
char arr[] = "hello"; strlen(arr); --5 char brr = {'h','e'}; strlen(brr); --無法確定中間是否有'\0' 'e'向後知道遇到‘\0'停止 等價與sizeof(brr)/sizeof(arr[0]) char brr = {'h','e','\0'} ; strlen(brr) --2 char num; scanf("%c",&num"); int i = 0; while (num != '\n') { arr[i++] =num; scanf("%c",&num); } scanf("%c" ,&numl); i = 0; while(num!= '\n') { brr[i++] = num; scanf("%c",&num); }
逆序陣列元素
eg1 額外定義陣列 # include <stdio.h> int main(void) { int a[5] = {1, 2, 3, 4, 5}; int b[5]; //用來存放倒置後的資料 int i, j; for (i=0, j=4; i<5, j>=0; ++i, --j) { b[i] = a[j]; printf("%d\n", b[i]); } return 0; } eg2 ###不額外定義陣列 # include <stdio.h> int main(void) { int a[23] = {1,5,66,8,55,9,1,32,5,65,4,8,5,15,64,156,1564,15,1,8,9,7,215}; int i = 0; //迴圈變數1, i的值為陣列第一個元素的下標 int j = 22; //迴圈變數2, j的值為陣列最後一個元素的下標 int buf; //互換時的中間儲存變數 for (; i<j; ++i, --j) /*因為i和j已經初始化過了, 所以表示式1可以省略, 但表示式1後面的分號不能省。*/ { buf = a[i]; a[i] = a[j]; a[j] = buf; } for (i=0; i<23; ++i) { printf("%d\x20", a[i]); //\x20表示空格 } printf("\n"); return 0; } eg3 int arr[] = {1,2,3,4,5}; int len = sizeof(arr)/sizeof(arr[0]); for(int i = 0;i <len/2;i++) { inmt temp = arr[i]; arr[i] = arr[len-1]; arr[len -1 - i ]= temp; } for( int i = 0; i<len ;i++) { printf("%4d",arr[i]); //向右對齊 }
陣列列印%8.2f .前正好表示向右對其。 .之後的數字表示取幾位小數
天下之大,又何止南北呢?