字元串中字元的排序c語言,c語言對字元數組中字元排序

本文目錄一覽:

C語言中如何將10個字元串進行排序

#includestdio.h

#includestring.h

int main()

{

int j,k,i,t,n;

char s[10][10],b[10][10];

for(i=0;i10;i++)

{

scanf(“%s”,s[i]);

}

n=strlen(s[1]);

k=0;

for(i=0;i9;i++)

{

for(j=0;j9-i;j++)

if(strcmp(s[j],s[j+1])0)

{

for(k=0;kn;k++)

b[j][k]=s[j][k];

for(k=0;kn;k++)

s[j][k]=s[j+1][k];

for(k=0;kn;k++)

s[j+1][k]=b[j][k];

}   

}

for(i=0;i10;i++)

{

printf(“%s “,s[i]);

}

return 0;

}

運行效果:

擴展資料:

scanf函數用法:

scanf(“輸入控制符”,輸入參數);

功能:將從鍵盤輸入的字元轉化為「輸入控制符」所規定格式的數據,然後存入以輸入參數的值為地址的變數中。

用scanf()函數以%s格式讀入的數據不能含有空白符時,所有空白符都被當做數據結束的標誌。所以題中函數輸出的值只有空格前面的部分。

如果想要輸出包括空格在內的所有數據,可以使用gets()函數讀入數據。gets()函數的功能是讀取字元串,並存放在指定的字元數組中,遇到換行符或文件結束標誌時結束讀入。換行符不作為讀取串的內容,讀取的換行符被轉換為字元串結束標誌’\0’。

c語言中從鍵盤輸入N個字元串,將字元串按從小到大的順序排列並輸出

代碼如下:

#define N 10 int main(){char str[N][100]; int i,j; for(i = 0; i N; i ++)  scanf(“%s”,str[i]); for(i = 0; i N-1; i ++) { for(j = i+1; j N; j ++){ if(strcmp(str[i],str[j])0) { char temp[100]; strcpy(temp,str[i]); strcpy(str[i],str[j]); strcpy(str[j],temp);} } } for(i = 0; i N; i ++)  puts(str[i]);}。

運行代碼:

執行結果:

擴展資料

在C語言編程中,常常需要對字元串比較和排序,經常遇到對字元串整體的控制等操作,strcmp 比較str1和str2的大小,而其它的c函數strlen(),字元串拷貝函數strcpy()/strncpy(),字元串比較函數 strcmp(),字元串連接函數strcat()/strncat()等,都可以幫助我們快速方便的對字元串操作。

參考資料:百度百科-C語言

C語言中輸入一串字元,怎樣讓它按照字母從小到大的順序排列?

這可以把字元串輸入到字元數組中,然後採用排序的方法來實現:

(需要包含string.h頭文件)

char t,s[200];

int i,i;

gets(s);

for(i=0;istrlen(s)-1;i++)

for(j=0;jstrlen(s)-1-i;j++)

if(s[j]s[j+1])

{t=s[j]; s[j]=s[j+1]; s[j+1]=t;}

puts(s);

字元串排序 C語言編程

#includelt;stdio.hgt;

#includelt;string.hgt;

#define SIZE 91

#define LIM 31

#define HALT””

void stsrt(char*strings[],int num);

int main(void)

{

char input[LIM][SIZE];

char*ptstr[LIM];

int ct=0;

int k=0;

printf(“input up to%d lines,and I will sort them.\n”,LIM);

printf(“To stop,press the enter key at a line’s start.\n”);

while(ctlt;LIMgets_s(input[ct],100)!=NULLinput[ct][0]!=’\0′)

{

ptstr[ct]=input[ct];

ct++;

}

stsrt(ptstr,ct);

puts(“\n here’s the sorted list:\n”);

for(k=0;klt;ct;k++)

{

puts(ptstr[k]);

}

puts(“\n here’s the list:\n”);

for(k=0;klt;ct;k++)

{

puts(input[k]);

}

return 0;

}

void stsrt(char*strings[],int num)

{

char*temp;

int top,seek;

for(top=0;toplt;num-1;top++)

{

for(seek=top+1;seeklt;num;seek++)

{

if(strcmp(strings[top],strings[seek])gt;0)

{

temp=strings[top];

strings[top]=strings[seek];

strings[seek]=temp;

}

}

}

擴展資料:

printf函數使用注意事項

1、域寬

%d:按整型數據的實際長度輸出。

如果想輸出指定寬度可以指定域寬,%md–gt;m域寬,列印出來以後,在控制台上,顯示m位;

如果我們要列印的數的位數如果超過我們設定m則原樣輸出;

如果我們要列印的數的位數如果小於我們設定的位數,則補空白,具體如下:

如果m為正數,則左對齊(左側補空白);

如果m為負數,則右對齊(右側補空白)。

2、轉義字元

如果想輸出字元”%”,則應該在「格式控制」字元串中用連續兩個%表示。

如:printf(“%f%%”,1.0/3);輸出結果:0.333333%。

c語言字元串排序

你有兩個錯誤,一是C的變數定義必須在所有語句之前,二是字元串不能賦值,必須使用strcpy函數,修改後的程序代碼和運行結果如下:

$ cat a.c

#includestdio.h

#includestring.h

void Solve();

void sort(char *name[], int n);

int main()

{

Solve();

return 0;

}

void Solve()

{

int i,n;

char name[100][100];

scanf(“%d”,n);

for(i=0;in;i++)

{

gets(name[i]);

}

sort(name,n);

for(i=0;in;i++)

{

puts(name[i]);

}

}

void sort(char *name[100], int n)

{

int i,j,k;

char *temp;

for(i=0;in-1;i++)

{

k=i;

for(j=i+1;jn;j++) if(strcmp(name[k],name[j])0) k=j;

if (k!=i)

{

{

strcpy(temp,name[i]);

strcpy(name[i],name[k]);

strcpy(name[k],temp);

}

}

}

}

$ cc a.c

“a.c”, line 19: warning #2167-D: argument of type “char (*)[100]” is

incompatible with parameter of type “char **”

sort(name,n);

^

$ a.out

6dkjlfhgjkshdfjkgh

1kdfghj

3dkjfhghd

2dlkfjgklj

5ldfkhlkj

4dflkghklj

1kdfghj

3dkjfhghd

2dlkfjgklj

5ldfkhlkj

4dflkghklj

$ cc -V

cc: HP C/aC++ B3910B A.06.25 [Nov 30 2009]

/cq/u/cqjsdba/ygb

原創文章,作者:QHWC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/140649.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
QHWC的頭像QHWC
上一篇 2024-10-04 00:24
下一篇 2024-10-04 00:24

相關推薦

  • 英語年齡用連字元號(Hyphenation for English Age)

    英語年齡通常使用連字元號表示,比如 “five-year-old boy”。本文將從多個方面探討英語年齡的連字元使用問題。 一、英語年齡的表達方式 英語中表…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python字元轉列表指南

    Python是一個極為流行的腳本語言,在數據處理、數據分析、人工智慧等領域廣泛應用。在很多場景下需要將字元串轉換為列表,以便於操作和處理,本篇文章將從多個方面對Python字元轉列…

    編程 2025-04-29
  • Python中將字元串轉化為浮點數

    本文將介紹在Python中將字元串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字元串轉化為…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python學習筆記:去除字元串最後一個字元的方法

    本文將從多個方面詳細闡述如何通過Python去除字元串最後一個字元,包括使用切片、pop()、刪除、替換等方法來實現。 一、字元串切片 在Python中,可以通過字元串切片的方式來…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29

發表回復

登錄後才能評論