純c語言中,如何判斷陣列中從A到Z是順序的,中間不可以跳過或重複字母,新人自學,求簡單方法

2021-03-21 13:44:14 字數 5721 閱讀 8936

1樓:

您是要判斷一個字串是否嚴格等同於「abcd...z」嗎。。?若如此可以用strcmp。

如果是說從中任取一個子串都可以,那麼最簡單的方法是依次判斷後一個字元是否比前一個字元大1 即 a[i+1]-a[i]==1, i = 0, 1, 2, ...

如果要忽略大小寫,請用tolower函式把所有字元轉小寫。

2樓:非也非夜

char alphabet[26] = ; //初始化bool repeat = true; //true 26個字母是按順序的,反之亦然

if( 65==(int)alphabet[0])}}else

'a'的 ascii值是 65 , 'b' 是 66 , 一直到 'z' 90。

3樓:好嘞啊啊啊啊

最簡單的方法就是去比較

如果字元陣列中是按abcd...xyz排列的那麼裡面儲存的一定是 65 66 67 68... 88 89 90 都是ascii值

你就只需要用迴圈比較 只要有一個不滿足就不是按順序的

4樓:匿名使用者

舉個例子出來,陣列是什麼樣的?如何理解你這個題目啊?這樣方便快速幫你解答

5樓:匿名使用者

你那 "..." 是什麼意思

6樓:匿名使用者

abcdefghijkmnlopqprstvwuxyz

c語言,如何判斷一個字元陣列中元素是否包含除字母(a-z,a-z)和數字(0-9)以外的東西。

7樓:羽顏

c語言中bai,高維陣列本質上其實是數du組的陣列,這點zhi很重要dao。比如二維數專

組是其包含的一維陣列屬的連續排列,所以對於陣列int myarray[3][3],myarray和myarray[0]在表示式中的值是一樣的(因為兩者都是它們起點的地址)。

這就和一維陣列int myarray2[3],整個陣列的地址和myarray2[0]的地址是一樣的是同一個道理。因為myarray是二維陣列,myarray[0]是一個一維陣列,所以後者本身在表示式中出現表示的仍然是它的地址,而不像一維陣列的myarray2[0]表示它的值。

8樓:帥的一筆呀

想實現這樣一個功能:當收到一串字串(長度最多為6),將其放到字元陣列中,然後判斷回其中是否

包含了除了字母和答數字()以外的東西,比如說其他符號~!@#¥等等,我的邏輯是一個一個判斷。你可以再去問問專業人士,看看他們能不能幫到你。

c語言是一個程式語言,廣泛應用於底層開發,在大學軟體課程中,屬於基礎,而學習c語言需要勤奮練習在學習c語言的過程中,一般都是枯燥乏味的,所以我們學習之前,一定要多看看這方面的書籍,將自己的心思沉澱一下。加強邏輯思維,記住語法規則,理解書上的相關知識。

9樓:匿名使用者

可以的,利用循bai環。

下面只du判斷是不是全為字母zhi或數字,如果不是則打dao印其位置版和符號。

/* note:your choice is c ide */#include "stdio.h"

void main()

else

printf("第%d個位置:%c\n",i+1,a[i]);

}if(c==5)

}不懂的地方可以追問

c語言中while的用法

10樓:楓璽

當n==1時執行while迴圈結構裡的語句,當n不等於1時,則跳過該迴圈執行迴圈體外的語句。

while 迴圈的格式:while (表示式)

while 迴圈的執行順序:當表示式為真,則執行下面的語句,語句執行完之後再判斷表示式是否為真,如果為真,再次執行下面的語句,然後再判斷表示式是否為真……就這樣一直迴圈下去,直到表示式為假,跳出迴圈。

例:int a=null;

while(a<10)

}結果: 結束後 a的值為6 。

擴充套件資料

while語句若一直滿足條件,則會不斷的重複下去。但有時,需要停止迴圈,則可以用下面的三種方式:

一、在while語句中設定條件語句,條件不滿足,則迴圈自動停止。

如:只輸出3的倍數的迴圈;可以設定範圍為:0到20。

二、在迴圈結構中加入流程控制語句,可以使使用者退出迴圈。

1、break流程控制:強制中斷該執行區內的語句,跳出該執行區,繼續執行區域外的語句。

2、continue流程控制:也是中斷迴圈內的執行操作,並且從頭開始執行。

三、利用標識來控制while語句的結束時間。

11樓:芯之度

語句a;

while(n==1);

語句b;

當n==1時,程式while(1)成立,不斷迴圈,因為後面while()後面直接是分號「;」所以這裡n==1直接就是死迴圈,

當n與等於1時,程式同樣是while(1)成立,和上面的情況一樣,所以兩個都是死迴圈。

擴充套件資料:whilewhile是計算機的一種基本迴圈模式。當滿足條件時進入迴圈,進入迴圈後,當條件不滿足時,執行完迴圈體內全部語句後再跳出(而不是立即跳出迴圈)。

while語句的一般表示式為:while(表示式)。

典型迴圈

while 《條件》

《語句體》

end while

do while 《條件》

《語句體》

loop

語法pascal

while 《條件》 do 《語句》

意為當條件符合時,接著做下面的語句;不符合時,退出迴圈。

cdo 《語句》 while(《條件》);

while(《條件》) 《語句》;

c++while(《條件》) 《語句》;

do 《語句》 while(《條件》).

12樓:打孃胎裡喜歡你

while是迴圈流程控制,while的語法格式為 :

while(condition)

//do something 2

說明:①while迴圈的表示式是迴圈進行的條件,用作迴圈條件的表示式中一般至少包括一個能夠改變表示式的變數,這個變數稱為迴圈變數。

②當表示式的值為真(非零)時,執行迴圈體;為假(0)時,則迴圈結束。

③當迴圈體不需要實現任何功能時,可以用空語句作為迴圈體。

④對於迴圈變數的初始化應在while語句之前進行,可以通過適當方式給迴圈變數賦初值。

13樓:匿名使用者

問題:語句a;

while(n==1);

語句b;

語句c;

答:當n==1時,程式while(1)成立,不斷迴圈,因為後面while()後面直接

是分號「;」所以這裡n==1直接就是死迴圈,不執行下面的程式語句b;

當n不等於1時,程式同樣是while(0)成立,跳出迴圈。執行下面的程式語句b;語句c;

while(n==1);此處有沒有分號意義大有不同,沒有的話,以上面的例子,程式while(1)成立時,執行下面的每一個語句b;一直迴圈執行;當n不等於1時,程式同樣是while(0)成立,跳出迴圈。執行下面的程式語句c;

14樓:佔碩瞿秀竹

一般迴圈有四個部分組成,這幾個部分都不能缺失,要不然迴圈可能完不成。不一定是在規定的地方出現,但是聯絡上下文,可以看到這幾個部分的影子

初始化、判斷迴圈條件、執行迴圈體、改變迴圈條件

如while迴圈

i=1;s=0;

//初始化變數

while(i<10)

//判斷迴圈條件

for迴圈也是這樣

for(初始化變數;判斷迴圈條件;改變迴圈條件)

迴圈體不管是for,while,do--while,goto等迴圈,他迴圈體只能管一句,也就是說遇到分號就結束,多個語句的話,用{}括起來相當於一句話

有些人不注意,在for

while等後面跟上一個分號。我的觀點是出現這個情況的理由是每個語句都有分號結束,但是沒有注意的是有幾個情況是不能跟分號的

forif,while,還有子函式有函式體的時候,這一句都是不能有分號的

你這裡while(n==1);後面有個分號,那麼while就是空迴圈了,不做任何操作,也就是說沒有迴圈體語句

當n是1的時候是死迴圈

n不是1的時候,直接跳過這個迴圈,不做任何操作

15樓:奚緯印令慧

先說一下,前面的例子有問題,你需要注意,「while();」如果你這麼書寫的話,這一行是整個while的迴圈,下一行的語句不算迴圈體,所以如果你希望下一行的******;迴圈執行的話,while後面的分號千萬不要加。

從語義上來說,while

(條件)迴圈體;

迴圈體只是一個語句,如果你需要執行多條語句的話,必須使用大括號括起來,相當於一條語句,這是在進行編譯時需要確認的。

c語言的語句是以分號結束的,也就是說,不管你寫多少行,只要沒有看到分號,這一句話就沒有結束。

16樓:福建省寧德市

while是迴圈流程控制,使用的標準格式為while(表示式)

說明:①while迴圈的表示式是迴圈進行的條件,用作迴圈條件的表示式中一般至少包括一個能夠改變表示式的變數,這個變數稱為迴圈變數

②當表示式的值為真(非零)時,執行迴圈體;為假(0)時,則迴圈結束③當迴圈體不需要實現任何功能時,可以用空語句作為迴圈體④對於迴圈變數的初始化應在while語句之前進行,可以通過適當方式給迴圈變數賦初值

17樓:匿名使用者

c++中while的用法如下:

while(條件) {}

當條件為假時結束

迴圈。如while(0){}。 裡的命令不執行結束迴圈;

do {} while() 當條件為假時結束迴圈。 但d0 {} while(0) 先執行一次在結束

18樓:夜禮服假面

while (1)

是個死迴圈,會一直迴圈下去,你寫進去的時候,程式一直在迴圈中,跑不出去,當然不亮。

while (0)

等於沒寫這段**,不跑迴圈

19樓:醉染木葉

先說while((ch=getchar())!='\n'):可以把它分成

ch=getchar();while(ch!='\n').前者是呼叫getchar函式,即ch為從鍵盤鍵入的字元.

後者括號裡指:當鍵入的不是'\n'(即回車),所以迴圈結束的條件是輸入回車鍵.

然後,這是一個小寫字母轉化成大寫的程式,

if(ch>='a'&&ch<='z') //當輸入的字元在a和z之間時

ch=ch-32; //這個字元的ascii碼減32,即實現小寫轉換為大寫.(因為一個字母的ascii碼,小寫比大寫大32.

其他沒什麼難懂的了吧

20樓:

while((ch=getchar())!='\n')

是獲取的字元 回車符 就停止迴圈,退出程式

.這段程式的意思是獲取字元,如果獲取的字元不是回車,並且是從小寫的a到大寫的z,就是abcd...xyzabc...

xyz,就減去32,轉換為另外一個字元,具體轉換到什麼字元查下ascii表,然後顯示出來.如果獲取的字元是回車,就是按enter鍵,就停止迴圈,退出程式

c語言中如何依次輸入陣列中元素,C語言中如何依次輸入陣列中元素

include int main int a 17 int i for i 0 i 17 i scanf d a i return 0 函式功能 把格式化的資料寫入某個字串 函式原型 int sprintf char buffer,const char format argument 返回值 字串長...

C語言裡如何判斷空格C語言中如何判斷一個字元是空格下一個字元不是空格

如下 int main void else return 0 c語言對zhi字元判斷是否為空格有兩種方式 dao if c printf c是空格 這種方法比較直觀,直接比較當前字元和空格是不是相等,是的話就是空格了。演示如下 2.if c 32 printf c是空格 c語言中字元和數值比較,會轉...

陣列與陣列中的元素在C語言中都寫成比如a這個樣子的嗎?怎麼寫得一樣的呢

a 10 表示陣列只有在初始宣告陣列的時候,例如 int a 10 宣告一個大小為10的陣列,陣列a的元素表示是從a 0 a 9 陣列a的第10個元素應該是a 9 不是a 10 所以你說的陣列與陣列中的一個元素都寫成a 10 這種情況是不可能出現的。夠清楚吧,3q給分!1 陣列定義時 陣列型別 陣列...