C++程式語言

請問每一行所代表的意義是捨麼???

‎#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main()

{

⋯⋯ ⋯⋯ char str[30],count[30]={0};

int i,j,k,l=0;

scanf("%s",&str);

k=strlen(str);

for(j=0;j<k;j++)

{

for(i=0;i<26;i++)

{

if(str[j]==i+97)

{

l++;

count[i]+=l;}

l=0;}}

for(i=0;i<26;i++)

printf("%c有%d個\t",i+97,count[i]);

system("pause");

return 0;

}

1 個解答

評分
  • 9 年前
    最佳解答

    // 引入stdio.h這個檔案

    #include <stdio.h>

    // 引入stdlib.h這個檔案

    #include <stdlib.h>

    // 引入string.h這個檔案

    #include <string.h>

    //主函式名稱

    int main()

    {

    //宣告兩個陣列,一個是str要用來讀input,一個是count要用來記錄每個字母出現的次數

    ⋯⋯ ⋯⋯ char str[30],count[30]={0};

    //宣告4個int

    int i,j,k,l=0;

    // 讀input的字串

    scanf("%s",&str);

    // 讀字串的長度

    k=strlen(str);

    // 針對這個字串裡的每一個字元

    for(j=0;j<k;j++)

    {

    針對a到z之間的26個字母

    for(i=0;i<26;i++)

    {

    //a = 97, 月= 98 , ... z = 96+26

    //如果輸入的第j個字元,等於英文字母的第i個字母

    if(str[j]==i+97)

    {

    // 變數l 從0 變成1

    l++;

    //第i個字母的記錄次數+1

    count[i]+=l;}

    // 變數l 從1 變成0

    l=0;}}

    // 針對每一個字母

    for(i=0;i<26;i++)

    //輸出一行字顯示:a有3個 b有5個 之類的

    printf("%c有%d個\t",i+97,count[i]);

    // 視窗暫停

    system("pause");

    主程式回傳0

    return 0;

    }

還有問題?馬上發問,尋求解答。