C語言部落格作業 字元陣列

2022-05-31 02:42:09 字數 2891 閱讀 4041

定義變數i,j,flag控制正負,number

定義字元型陣列six,ch

輸入ch

for i=0 to ch[i]!='\0'

if ch[i]為十六進製制字元

six[j]=ch[i];j++

if six陣列的第乙個字元為負號

flag=-1;

for i=0 to six[i]!='\0'

if six[i]為0到9之間

number=number*16+six[i]-'0';

if six[i]為a到f

number=number*16+six[i]-'a'+10;

if six[i]為a到f

number=number*16+six[i]-'a'+10;

輸出flag*number

提交時顯示負號無效,我返回去看了一下自己的**,發現自己寫的**有問題,應該是所提取出的十六進製制前有負號才算負數,所以把**改成當j0&&ch[i]'-'時為負數。

定義變數n,i,count1=0,count2=0用來計數

定義字元型變數ch

for i=1 to n

ch=getchar();

if ch為(

count1++;

if ch為)且count1!=0

count1--;

if ch為且count2!=0

count2--;

if count1==0&&count2==0//全匹配完時

輸出true

否則 輸出false

用字元陣列時總是出現段錯誤,後來乾脆不用陣列了,就答案正確了。

提交時部分正確,回頭看才發現沒有喜歡的同學時沒有輸出lonely xiao ming,粗心了。

周炳輝

周炳輝的**一看起來就比我的**要簡潔,我在**中運用了指標的知識,通過與結束符的結合運用實現倒敘;而周炳輝的**則是通過對空格有無的判斷,在程式中也沒有像我那麼多的輸出語句,所以說我更喜歡周炳輝的**,比較簡潔。

型別名    *指標變數名
指標加法運算可以運用在對陣列進行賦值,也可用在迴圈的控制;

2個指標變數不能相加,因為相加沒有意義。

指標變數做函式形參:void splitfloat(float x,int *intpart,float *fracpart)

指標變數做函式形參可以返回多個結果

#includevoid bubble(int *a,int n);

int main()

}

如何定義:

int *p,a[10];

p=a;

如何用:

*(p+i)
如何定義:

char *p="string";
初始位置在首字元的位址

#includevoid fun(char *str1,char *str2);

int main()

void fun(char *str1,char *str2)

for(i=0;str2[i]!='\0';i++)

str1[count]='\0';

}

好處是效率更高,能夠通過在函式裡直接對陣列進行操作,改變其中的值,更為方便。

這道題當時沒怎麼理解題目的意思;a為指標常量,一旦定義就是確定的了,不能改變它的值。

這道題當時做的時候太粗心了,看到d就選了,p+8表示的是位址,*(p+8)才表示的是它的值。

#includevoid  trans_array(int a[10],int n);

void sort_array(int a[10],int n);

int main()

} }}

這道題我想了很久都沒想出來,可能是當時想著快點做完,所以有點急了,連氣泡排序都寫錯了,還有一方面就是我對於氣泡排序看來還是不熟悉,要不然就不會出現這種低階錯誤,所以以後要把一些經典的方法記熟。

C語言部落格作業 字元陣列

定義乙個字元陣列來儲存輸入的句子 gets c 定義乙個整型變數i為迴圈數,count用來統計單詞數,a用來儲存字串長度 a strlen c if c 0 count 0 else count 1 for i 0 i c i 1 count 輸出count 本題主要問題是沒有考慮到如果輸入兩個空格...

C語言部落格作業 字元陣列

一是沒有吸收回車,而是flag1 沒有為下一次迴圈賦初值0,導致每一次輸出都是最後乙個字串 一開始當開頭為空格時但只有乙個單詞,會輸出2,因為我的 從一開始就加了1,後來改了重寫,新增乙個m,當開頭不為空格時才能加1,輸出正確,沒有截圖 一開始把不知道如何將十六進製制字元轉成十進位制整形數輸出,上網...

C語言部落格作業 字元陣列

定義i,j,k為迴圈變數,flag用來判斷輸入符號是否為負數,f用來判斷輸入字元是否為十六進製制字元,再定義ten存放十進位制數,陣列a 80 str 80 存放字串 flag 1,f 1 輸入字串a i k 0 for i 0 a i 0 i ten 0 for k 0 str k 0 k if ...