當前位置:首頁 » 編程語言 » c語言歌詞解析項目
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言歌詞解析項目

發布時間: 2023-05-16 16:11:39

c語言歌詞解析器

網上有下的

⑵ 這道C語言誰能解析一下

它的運行結果是輸出 "first"。下面是代碼的解析:

1. 首先包含頭文件 `stdio.h`,以便程序能夠使用標准輸入輸出函數。

2. 然後定義了一個 `main` 函數,該函數的返回值類型是整型 `int`。

3. 在 `main` 函數內部,定義了兩個整型變數 `x` 和 `y`,並將 `x` 的頃租值設為 `1`,將 `y` 的值設弊冊為 `0`。

4. 接著使用 `switch` 語句對 `x` 進行判斷。由於 `x` 的值為 `1`,所以程序會進入 `case 1:` 分支。

5. 在 `case 1:` 分支中,再次使用 `switch` 語句對 `y` 進行判斷。由於 `y` 的值為 `0`,所以程序會進入 `case 0:` 分支。

6. 在 `case 0:` 分支中,使用 `printf` 函數輸出字元串 "first",然後使用 `break` 語句跳出 `switch` 語句。

7. 最後,在 `main` 函數的結尾處添加了一個右括弧,以表示函數的結束。

因雀卜兆此,該程序的運行結果是輸出 "first"。

⑶ C語言 統計歌詞中的單詞個數,並找出最短和最長的單詞(必須用指針)求幫忙,感謝!!!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 500
int gecifun(char *geci, char *strmax, char *strmin)
{
char temp[30];//存兄衫液儲每個單詞數組
int num=0,i,word=0;//單詞數量塌鋒和每個單詞數組下標
for(i=0;(geci[i])!='\0';i++)
{
if(geci[i]==' '||geci[i]==',' || geci[i]=='.' || geci[i]=='?') //單詞分隔符
{

if (word != 0){
temp[word]='\0';
if (num==1){//獲取第一個單詞的時候,將第一個單詞復制給最大和最小
strcpy(strmax,temp);
strcpy(strmin,temp);
}
else//第二個單詞之後比較字元串長度之後進行復制
{

if (strlen(temp)>=strlen(strmax))
strcpy(strmax,temp);
if (strlen(temp)<=strlen(strmin))
strcpy(strmin,temp);
}
num++;//單詞數羨物量遞增
word = 0;//單詞數組下標置零
}
}
else
temp[word++] = geci[i];//每個單詞按位置賦值
}
return num;
}
int main()
{
int acount;
char lstr[30],sstr[30];
char song[N] = "Daddy finger, Daddy finger, where are you? Here I am. Here I am."
"How do you do? Mammy finger, Mammy finger, where are you? Here I am. Here "
"I am. How do you do? Brother finger, Brother finger, where are you? Here "
"I am. Here I am. How do you do? Sister finger, Sister finger, where are you?"
"Here I am. Here I am. How do you do? Baby finger, Baby finger, where are you?"
"Here I am. Here I am. How do you do?";
acount=gecifun(song,lstr,sstr);
printf("歌詞中共有%d個單詞。歌詞中最長的單詞為%s,最短的單詞為%s。\n",acount,lstr,sstr);
return 0;
}

⑷ C語言中項目的概念是什麼

項目 project, 是一組代碼的統稱
這一組代碼 必須實現一個完整的功能, 可以是一個完整的程序, 也可以是其中一個模塊。
項目的創立,就是為了更好的組織管理這些代碼。
對於初學者來說, 項目往往只有一個文件 幾個函數
這是體現不出項目的價值
但一旦完成一個比較大的功能時,項目代碼可以達到幾千上萬個文件
這時項目的管理就很有必要了。

⑸ 急求!!求高手用c語言 編輯一個歌詞解析器,可以發給我郵箱[email protected] 謝謝了!

必須要RMB,動力才充足

⑹ c語言程序設計MP3或MP4文件基本信息的解析

找了個MP3看了下,comment是29個遲桐返位元組。
可參考 http://www.chineselinuxuniversity.net/articles/27374.shtml

拿VC的C語言輪凳寫了下:
頭文件:
#include <碼飢stdio.h>

// TODO: reference additional headers your program requires here

#define MP3_ID3_LENGTH 10
typedef struct tag_ID3_INFO
{

} ID3_INFO;

#define IDENTIFY_LEN 3
#define TITLE_LEN 30
#define ARTIST_LEN 30
#define ALBUM_LEN 30
#define YEAR_LEN 4
#define COMMENT_LEN 30
#define GENRE_LEN 1

// IDENTIFY_LEN + TITLE_LEN +...
#define MP3_INFO_LENGTH 128

typedef struct tag_MP3_INFO
{
char Identify[IDENTIFY_LEN + 1]; //TAG三個字母
//這里可以用來鑒別是不是文件信息內容
char Title[TITLE_LEN + 1]; //歌曲名,30個位元組
char Artist[ARTIST_LEN + 1]; //歌手名,30個位元組
char Album[ARTIST_LEN + 1]; //所屬唱片,30個位元組
char Year[YEAR_LEN + 1]; //年,4個位元組
char Comment[COMMENT_LEN + 1]; //注釋,28個位元組
char Genre[GENRE_LEN + 1]; //類型 ,1個位元組
} MP3_INFO;

C文件:
#include <string.h>

#define MP3_OK 1
#define MP3_ERROR 1

FILE *OpenMp3File(char *pFileName);
int ReadMP3Info(FILE *pFile, MP3_INFO *pstInfo);
int OutputMP3Info(MP3_INFO *pstMp3Info);

int main(int argc, char* argv[])
{
FILE *pFile = NULL;
MP3_INFO stMp3Info = {0};
char *pfname = "E:\\Project\\MP3\\test.MP3";

pFile = OpenMp3File(pfname);
if (NULL == pFile)
{
return MP3_ERROR;
}

ReadMP3Info(pFile, &stMp3Info);

printf("\r\nMP3 file: %s", pfname);
OutputMP3Info(&stMp3Info);

printf("Hello World!\n");
return MP3_OK;
}

FILE *OpenMp3File(char *pFileName)
{
FILE *pFile = NULL;
pFile = fopen(pFileName,"rb");
if (NULL==pFile)
{
printf("open read file error!!");
return NULL;
}

return pFile;
}

int ReadMP3Info(FILE *pFile, MP3_INFO *pstInfo)
{
int len = 0;
if ((NULL == pFile) || (NULL == pstInfo))
{
return MP3_ERROR;
}

fseek(pFile, 0, SEEK_END);
len = ftell(pFile);
if (len <= (MP3_INFO_LENGTH + MP3_ID3_LENGTH))
{
return MP3_ERROR;
}

memset(pstInfo, 0, sizeof(MP3_INFO));

fseek(pFile, -MP3_INFO_LENGTH, SEEK_END);
len = fread((char *)(pstInfo->Identify), 1, IDENTIFY_LEN, pFile);
len += fread((char *)(pstInfo->Title), 1, TITLE_LEN, pFile);
len += fread((char *)(pstInfo->Artist), 1, ARTIST_LEN, pFile);
len += fread((char *)(pstInfo->Album), 1, ALBUM_LEN, pFile);
len += fread((char *)(pstInfo->Year), 1, YEAR_LEN, pFile);
len += fread((char *)(pstInfo->Comment), 1, COMMENT_LEN, pFile);
len += fread((char *)(pstInfo->Genre), 1, GENRE_LEN, pFile);
if (MP3_INFO_LENGTH != len)
{
return MP3_ERROR;
}

return MP3_OK;
}

int OutputMP3Info(MP3_INFO *pstMp3Info)
{
printf("\r\nTag : %s", pstMp3Info->Identify);
printf("\r\nTitle : %s", pstMp3Info->Title);
printf("\r\nArtist : %s", pstMp3Info->Artist);
printf("\r\nAlbum : %s", pstMp3Info->Album);
printf("\r\nYear : %s", pstMp3Info->Year);
printf("\r\nComment: %s", pstMp3Info->Comment);

return MP3_OK;
}

測試:
MP3 file: E:\Project\MP3\test.MP3
Tag : TAG
Title : TrackTitle
Artist : ArtistName
Album : AlbumTitle
Year : 2012
Comment: This is a comment

⑺ C語言中如何讀取lrc文件並把它放在數組中然後切開輸出來,歌詞是浮誇

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<windows.h>
structlrc
{
charsong_lrc[256];
structlrc*next;
};
structlrc*lianjie(structlrc*head,structlrc*node1)
{
structlrc猛伍*node2,*node3;
if(head==NULL)
{
head=node1;
returnhead;
}
node2=head;
while(node2!=NULL)
{
node3=node2;
node2=node2->next;
}
node3->next=node1;
returnhead;
}
intmain()
{
FILE*p;
charsong_lrc[256];
inti;
structlrc*head,*node1,*node2;
head=(structlrc*)malloc(sizeof(structlrc));
node2=(structlrc*)malloc(sizeof(structlrc));
p=fopen("F:/Kugou/qq音樂/爸爸媽媽-王蓉.lrc","r+");
fgets(song_lrc,250,p);
strcpy(head->song_lrc,song_lrc);
head->next=NULL;
for(i=0;i<2;i++)
{
node1=(structlrc*)malloc(sizeof(structlrc));
fgets(song_lrc,250,p);
strcpy(node1->song_lrc,song_lrc);
node1->next=NULL;
敗沖head=lianjie(head,node1);
}
node1=head;
while(node1!=NULL)
{
for(i=4;i<100;i++)
枝枯或{
if(node1->song_lrc[i]==']'||strlen(node1->song_lrc)<3)
break;
if(i%34==0)
printf(" ");
printf("%c",node1->song_lrc[i]);
}
node1=node1->next;
printf(" ");
}
fclose(p);
getch();
}

我寫的讀取歌詞代碼,很早前寫的了,可能有些問題哈,但大致上是正確的,用的是鏈表,可以換成二維數組

額,這個有點問題,我的網路分享裡面貌似有播放器的源碼。。。你先看看