c語言編程輸入一行英文字符,c輸入一行字符串

本文目錄一覽:

C語言編程:從鍵盤中輸入一個英文字符串

#includestdio.h

#includestdlib.h

int main()

{

int strSize = 100;

char *str = (char *)malloc(sizeof(char) * strSize);

int charNum = 0;

char input;

//逐個字符輸入字符串,可以輸入int可以表示的最大值個字符

printf(“請輸入任意個字符:\n”);

while(true)

{

scanf(“%c”,input);

if(input != ‘#’)

{

if((input = ‘A’ input = ‘Z’) || (input = ‘a’ input = ‘z’))

{

if(charNum strSize)

{

strSize += 100;

str = (char *)realloc(str,strSize);

}

str[charNum] = input;

charNum++;

}

}

else

{

break;

}

}

//輸入結果分析

int i = 0,j = 0;

char *tempChar = (char *)malloc(sizeof(char) * charNum);

int *tempCharNum = (int *)malloc(sizeof(int) * charNum);

int charType = 0;

bool exist = false;

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

{

exist = false;

tempChar[i] = ‘#’;

tempCharNum[i] = 0;

for(j = 0; j charNum; j++)

{

if(tempChar[j] == ‘#’)

{

break;

}

if(tempChar[j] == str[i])

{

exist = true;

tempCharNum[j] += 1;

}

}

if(exist == false)

{

tempChar[charType] = str[i];

tempCharNum[charType] = 1;

charType++;

}

}

int t1;

char t2;

for(j = 0; j charType – 1; j++)

{

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

if(tempCharNum[i] tempCharNum[i+1])//如果a[i]大於a[i+1]

{

//交換a[i]和a[i+1]的值,即把較大的元素往後排

t1 = tempCharNum[i];

tempCharNum[i] = tempCharNum[i+1];

tempCharNum[i+1] = t1;

t2 = tempChar[i];

tempChar[i] = tempChar[i+1];

tempChar[i+1] = t2;

}

}

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

{

if(tempChar[i] != ‘#’)

{

printf(“單詞:%c,次數:%d\n”,tempChar[i],tempCharNum[i]);

}

}

free(str);

free(tempChar);

free(tempCharNum);

return 0;

}

C語言編程:輸入一行字符,輸出其中英文字母、空格、數字和其它字符的個數?

#include stdio.h

int isletter(char c)

{

    return c=’a’c=’z’||c=’A’c=’Z’;

}

int isdigit(char c)

{

    return c=’0’c=’9′;

}

int isblank(char c)

{

    return c==’ ‘;

}

int main()

{

    char c;

    int letters,digits,blanks,others;

    for(letters=digits=blanks=others=0;(c=getchar())!=’\n’;)

        if(isletter(c))

            letters++;

        else if(isdigit(c))

            digits++;

        else if(isblank(c))

            blanks++;

        else

            others++;

    printf(“letters:%d blanks:%d digits:%d others:%d\n”,letters,blanks,digits,others);

    return 0;

}

c語言:輸入一行英文字符串,把每個單詞第一個字母變為大寫,輸出修改後的字符串

#includelt;ctype.hgt;

#includelt;string.hgt;

#includelt;stdio.hgt;

int main(int argc,char*argv[])

{

char str[100+1];

int isfirst=1;

char ch;

int i=0;

while((ch=getchar())!=EOF)

{

if(isalpha(ch))

{

if(isfirst==1)

{

ch=toupper(ch);

isfirst=0;

}

}

else

{

isfirst=1;

}

str[i++]=ch;

}

strlt;igt;=’\0′;

printf(“%s\n”,str);

return 0;

}

擴展資料:

printf用法:

printf()函數的調用格式為:printf(“lt;格式化字符串gt;”,lt;參量表gt;)。

其中格式化字符串包括兩部分內容:一部分是正常字符,這些字符將按原樣輸出;另一部分是格式化規定字符,以”%”開始,後跟一個或幾個規定字符,用來確定輸出內容格式。

參量表是需要輸出的一系列參數,其個數必須與格式化字符串所說明的輸出參數個數一樣多,各參數之間用”,”分開,且順序一一對應,否則將會出現意想不到的錯誤。

比如:

int a=1234;

printf(“a=%d\n”,a);

輸出結果為a=1234。

scanf()是C語言中的一個輸入函數。與printf函數一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數時要加上#includelt;stdio.hgt;。

int scanf(const char*restrict format,…);

函數scanf()是從標準輸入流stdin(標準輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字符,並保存在對應地址的變量中。

如:

scanf(“%d%d”,a,b);

函數返回值為int型,如果a和b都被成功讀入,那麼scanf的返回值就是2。

c語言怎樣才能輸入一行字符,以回車作為結束標誌,分別統計出大寫字母,小寫字母,空格,數字和其他字符?

C代碼和運行結果如下:

統計結果正確,望採納~

附源碼:

#include stdio.h

int main() {

  char s[100];

  fgets(s, 100, stdin); // 輸入一行字符,包括行尾的’\n’

  int i = 0, upper = 0, lower = 0, space = 0, digit = 0, other = 0;

  while (s[i] != ‘\n’) {

      if (s[i] = ‘A’ s[i] = ‘Z’)

          upper++;

      else if (s[i] = ‘a’ s[i] = ‘z’)

          lower++;

      else if (s[i] == ‘ ‘)

          space++;

      else if (s[i] = ‘0’ s[i] = ‘9’)

          digit++;

      else

          other++;

      i++;

  }

  printf(“大寫字母:%d, 小寫字母:%d, 空格:%d, 數字:%d, 其他:%d\n”,

      upper, lower, space, digit, other);

  return 0;

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/242871.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:53
下一篇 2024-12-12 12:53

相關推薦

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

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

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

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

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

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

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

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

    編程 2025-04-29
  • 如何切分英文

    切分英文是自然語言處理中的一個重要步驟,它包括將一段英文文本劃分成若干個單詞和標點符號。如何準確地切分英文對於後續的文本處理任務具有決定性的影響,因此切分英文也成為了自然語言處理領…

    編程 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

發表回復

登錄後才能評論