/* 标准文档模板 */
#include "Stdio.h"
#include "Conio.h"
#include <dos.h>
/*各个音阶的震动频率*/
#define C 262
#define D 296
#define E 330
#define F 349
#define G 392
#define A 440
#define B 494
#define C2 523
int musical_scale[]={C,D,E,F,G,A,B,C2}; /*各音阶震动频率数组(全局)*/
void play_music(int music[]);
int main(void)
{
/*以下是数组表示的乐谱 0代表停顿,1-8代表do re mi fa so la xi do2*/
int music[]={1,0,2,0,3,0,1,0,5, /*DO RE MI DO SO*/
0,0,0,0,0,0,0,
6,0,6,0,8,0,6,0,5, /*LA LA DO LA SO*/
0,0,0,0,0,0,0,
6,0,6,0,8, /*LA LA DO*/
0,0,0,
5,0,6,0,3, /*SO LA MI*/
0,0,0,6,0,5,0,3,0,5,0,3,0,1,0,2,0,3,0,1, /*LA SO MI SO MI DO RE MI DO*/
0,-1};
play_music(music);
getch();
return 0;
}
void play_music(int music[])
{
int i=0;
/*循环播放,直到-1结束*/
while(music[i]!=-1)
{
if(music[i]==0) nosound();
else sound(musical_scale[music[i]-1]);
delay(100000);
delay(100000);
if(music[i]==0) printf(" ");
else printf("%d",music[i]);
i++;
}
nosound();
}