c³ÌÐòʵÏÖÏãÅ©±àÂë
#include <stdio.h>
#include <math.h>
#include <string.h>
int i,j,n,k,b;
float addp;
char bitw[20];
/*³õʼ»¯½á¹¹ÌåÆäÖУºsΪÐÅÔ´·ûºÅ£»pΪÐÅÔ´·ûºÅ¸ÅÂÊ£»paddΪÀÛ¼Ó¸ÅÂÊ£»
l_fΪ-log[p(s[i])]¼´¹À¼ÆÂë×Ö³¤¶È£»lΪʵ¼ÊÐèÒªÂë×Ö³¤¶È£»wΪÂë×Ö*/
struct shan
{char s[20];
float p;
float padd;
float l_f;
int l;
char w[20];
}data[12];
/*ÒÀÐÅÔ´¸ÅÂʶԸ÷ÐÅÔ´·ûºÅÅÅÐòMoai&KevinÔ´´£¡*/
void sequ(struct shan x[],int n)
{
struct shan temp;
for(i=0;i<n;i++)
for(j=i;j<n;j++)
{if(x[i].p<x[j].p)
{
temp=x[j];
x[j]=x[i];
x[i]=temp;
}
}
}
/*¼ÆËãÀÛ¼Ó¸ÅÂÊ*/
void countpadd(struct shan x[],int n)
{
addp=0;
x[0].padd=0;
for(i=0;i<n;i++)
{
addp+=x[i].p;
x[i+1].padd=addp;
}
}
/*¼ÆËã¹À¼ÆÂë×Ö³¤¶Èl_f£¬ÒÔ¼°Moai&KevinÔ´´£¡*/Âë×Ö³¤¶Èl*/
void count_l(struct shan x[],int n)
{
for(i=0;i<n;i++)
{
x[i].l_f=-log(x[i].p)/log(2);
if((x[i].l_f-(int)x[i].l_f)>0)
x[i].l=(int)x[i].l_f+1;
else x[i].l=(int)x[i].l_f;
}
}
/*¶þ½øÖÆ×ª»»*/
void covbit(float a,int lc)
{
for(j=0;j<lc;j++)
{
b=(int)(a*2);
bitw[j]=b+48;
a=2*a-int(a*2);
}
}
main()
{
printf("please input the number of symbols of source(n<=10):n=");
scanf("%d",&n);
printf("please input the the source symbols and their probabilities\n");
/*»ñÈ¡ÐÅÔ´·ûºÅ*/
for(i=0;i<n;i++)
{
scanf("%s",data[i].s);
}
/*»ñÈ¡ÐÅÔ´Moai&KevinÔ´´£¡*/¸ÅÂÊ*/
for(i=0;i<n;i++)
{printf("P(%s)=",data[i].s);
scanf("%f",&data[i].p);
}
sequ(data,n);
countpadd(data,n);
count_l(data,n);
/*ÔڽṹÌåÖвúÉúÂë×Ö*/
for(i=0;i<n;i++)
{
Ïà¹ØÎĵµ£º
1£ºÃ¿Ò»¸ö±äÁ¿ÔÚʹÓÃǰ¶¼µÃÉùÃ÷£¬²»È»ÔÚʹÓõÄʱºò¾ÍÓпÉÄÜÊÇËæ»úµÄÊý×Ö
2£º×¢ÒâÍ·ÎļþÖк¯ÊýÉùÃ÷µÄʱºòÒªÔÚºóÃæ¼ÓÉÏ·ÖºÅ
3£º×¢Òâ´®¿Ú¿ÉÒÔ´òÓ¡±äÁ¿£¬¾ÍÏñCÖеÄprintfÒ»Ñù
4£ºDNWÖв»ÄÜ´òÓ¡floatÐÍÊý¾Ý
5£º×¢Òâ½á¹¹ÌåÖ¸ÕëÊý×é µÄʹÓú͵÷ÓÃ
6£º ......
Ç°ÃæµÄÎÄÕ¡¶´î½¨»ùÓÚ NetBeans µÄ OpenGL ¿ª·¢»·¾³¡·Ìáµ½ÁË NetBeans ºÍ MinGW µÄÅäÖ㬵±Ê±¼ÇµÃºÃÏñÒÔǰд¹ý²½Ö裬¾ÍËæÊÖÂÔ¹ýÁË¡£½ñÌìÊÕµ½ÍøÓѵÄÌáÐѲŷ¢ÏÖÊÇÎҼǴíÁË£¬ÔÚÕâÀï²¹ÉÏ£¬Í¬Ê±Ð»Ð»Ä㣡
¡¡¡¡²½ÖèÈçÏ£º
ÏÂÔØ×Ô¶¯ MinGW °²×°³ÌÐò£¬Õâ¶Ô³õѧÕßÀ´ËµÊDZȽϷ½±ãµÄ·½Ê½£¬È±µã¾ÍÊÇÏÂÔØËÙ¶ÈÂýµÃ²»ÈçÎÏÅ£¡£
ÔËÐ ......
C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâÐ©ÍøÕ¾Ìṩc/c++Ô´´úÂë¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶ÓÄúµÄ½¨Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½ÃæµÄÇåµ¥¡£
1¡¢http://snippets.dzone.com/tag/c/ --ÊýÒÔǧ¼Æ ......
ÒÔÏÂÈ«ÎÄ×ªÔØ×Ôhttp://www.keil.com/support/docs/50.htm Copyright © 2010 Keil™, An ARM® Company.
Information in this ar ......
²Î¿¼ÍøÖ·£ºhttp://www.uclibc.org/
GNUµÄGlibcÊÇÒ»¸ö·Ç³£³è´ó¶øÍêÕûµÄ¿â£¬ÖÁÉÙ¶ÔÓÚǶÈëʽϵͳÀ´Ëµ£¬ÆäÌå»ýÏԵùýÓÚ´óÁËһЩ¡£uClibcµÄÌá³ö½ÏºÃµÄ½â¾öÁËÕâÑùÒ»¸öÎÊÌâ¡£uClibc¾¡¿ÉÄܵļæÈÝGlibc£¬´ó¶àÊýÓ¦ÓóÌÐò¿ÉÒÔÔÚºÜС»òÍêÈ«²»Ð޸ĵÄÇé¿öϾͿÉÄÜʹÓÃuClibcÌæ´úglibc¡£Í¨¹ýuClibcÀ´´úÌæGlibc£¬¿ÉÒÔÔÚ²»¸Ä±äÓ¦ÓóÌÐò¹¦Ä ......