C語言部落格05 指標

2022-05-17 18:22:27 字數 2792 閱讀 9905

指標的理解很抽象,對於指標的運用不太熟練,特別是指標很多時候是運用在函式裡面,和函式混合起來運用,指標為引數時,就特別的亂,不知道怎麼傳參到函式,然後函式的傳參也沒學好。所以導致指標傳參時不知道怎麼傳,傳什麼東西進去。

100將n個字串按從小到大排序的氣泡排序法

char a[100][12];      定義陣列長度

getchar();         讀取下乙個字元

int b;           定義中間變數 

b=strcmp(a[j],a[j+1]);    比較字串大小長度

if(b>0)          a【j】的長度長於a【j+1】

a【j】a【j+1】   對換

1.偽**介紹函式思路

void mathcaculate 函式

各種int 各種 double

printf                輸出選擇介面

scanf("%d",level)            讀者輸入等級選擇

if(level!=1&&level!=2&&level!=3)   判斷等級選擇是否出錯

printf(" 你的輸入有誤,結束計算");  錯誤輸入提示

return 錯誤輸入之後結束計算

printf("\n");

printf(" 誤差允許在0.01之內\n\n");     給予友好提示

createexp(level);         呼叫函式,但是我不太會使用exp引數,所以這裡只用了level

scanf("%d",&response)      讀者輸入答案

if if(s-response<=0.01)       答案符合要求

rightmessage( );         進入正確提示函式

否則進入錯誤提示函式

s=0;              初始化系統隨機生成的算式的結果

system("pause");

system("cls");           清屏+暫停函式

if(i==n)

break;                當i=n時直接跳出迴圈

printf(" 1:繼續 2:退出 請選擇:");      友好提示

printf(" \n ");

scanf("%d",&flag);        輸入是否繼續

printf("\n");

if(flag==1)           繼續

continue;

else }

percent=right*1.00/((right+wrong)*1.00)*100;    正確率計算

printf(" 你的正確率為%.2f\n\n",percent);

2.函式截圖

截圖函式**。

void createexp(int level)函式

各種int定義

switch (level)                判斷等級

case 1: m=10;n=4;k=3;break;                                m用於產生隨機數

case 2:m=100;n=2;k=5;break;         n用於產生運算子

case 3: m=1000;n=2;k=5;break;         k用於控制迴圈

然後迴圈產生隨機數放入陣列str

y=rand()%n;

switch(y)

case 0:printf("+");s=s+str[j-1];break;

case 1:printf("-");s=s+str[j-1];break;

case 2:printf("*");s=str[j-1]*str[j+1];break;

case 3:printf("/");s=str[j-1]/str[j+1];break;

這個有bug。但是不知道怎麼改。。

改造前函式1和改造後的函式1

等級函式,改造前用了三個函式來區分三個等級,改造之後只用了乙個函式就包含了三個等級的運算。其他好像沒什麼變動。。。

上一次的作業主要是卡在各種非法輸入上,然後解決了大部分,一些非法輸入還是沒解決,這一次是卡在了三個等級封裝在乙個等級函式上,每次要不多輸出了乙個運算子,還有就是改動之後呢,運算子是不會多出來,但是算式的隨機數每次都出來的是0,而且計算也不太對,之前的話雖然多出來乙個運算子,但是結果還是對的,之前出來的是1+5/=這樣的答案是6。改了好多次bug總算少了一點。

C語言部落格05 指標

本章學習了指標的應用,指標是c語言中很有特色的乙個東西,其他的語言基本沒有這個功能,直接在記憶體上對變數賦值,同時也學到了很多函式可應用在字串中運用比如strlen strcat strcmp等等,對陣列的大小進行控制也學到了乙個新的方法,動態記憶體分配,可以對陣列的大小進行控制,防止像以前那樣給陣...

C語言部落格作業05 指標

1.2.1 學習體會 老師這次沒布置課堂派預先作業就直接開講,感覺上課聽的不是很懂。1.2.2 累計 125分 字串的氣泡排序 3.1.1 演算法分析 輸入n,k n 定義二維陣列a和臨時陣列temp for i 0 to n do gets a i end for for i 1 to k do ...

C語言部落格作業05 指標

2.指標變數用於存放位址,在函式中呼叫指標可以進行位址的傳輸,從而可以改變位址的內容,減少全域性變數和區域性變數的使用 3.陣列在函式中進行傳輸時,若函式的形參為指標變數,可以直接傳輸首位址,而陣列名就代表首位址 4.本章還學習了字串連線函式strcat 字串比較函式strcmp,字串長度行數 st...