统计每个数字出现的百分比

  • 格式:doc
  • 大小:25.00 KB
  • 文档页数:3

*请设计一个程序实现以下功能:从键盘上输入以999为结束符的一组实验数据,数据个数不清,
数值范围为100~200之间整数,请统计每个数字出现的百分比(=该书出现次数/试验数据总数*100%)并列表输出。

*/
#include <stdio.h>
void main()
{
double fre_percent[101]={0};
int frequence[101]={0},sum=0;
int i;
while(1)
{
scanf( "%d ",&i);
if(i==999)
break;
else if(i <100||i> 200)
continue;
else
{
sum++;
frequence[i-100]++;
}
}
for(i=0;i <101;i++)
{
fre_percent[i]=frequence[i]*1.0/sum*100;
}
printf( "Num\tFrequence\tpercent\n ");
for(i=0;i <101;i++)
{
printf( "%d\t%d\t\t%.2f\n ",i+100,frequence[i],fre_percent[i]);
}
}
第2小题
void main(){
int flag=0,dflag=1;
int i,j;
int t=0;
char str[50];
cout<<"输入表达式(以=结束):";
gets(str);
i=0;
int res=0;
while(str[i]!='\0'){
if(str[i]<='9'&&str[i]>='0'){
if(flag==0){
flag=1;
t=str[i]-'0';
}
else{
t=t*10+(str[i]-'0');
}
}
else{
flag=0;res+=t*dflag;t=0;
if(str[i]=='+'){
dflag=1;
}
else if(str[i]=='-'){
dflag=-1;
}
}
i++;
}
cout<<"结果为"<<res<<endl;
}
2004年
斐波那切数
#include <stdio.h>
#define MAX_NUM 100000 //假设机器能计算的最大Fib(n)
//直接返回Fib(n)
unsigned long Fib (unsigned int n)
{
unsigned long a[2] = {1,1};
if ((n <=0)||(n> MAX_NUM)) return 0;
int i=2;
while (i <n)
{
a[0]+=a[1];
i++;
if (i <n) a[1]+=a[0]; else return a[0]; i++;
}
return a[1];
}
int main()
{
for (int i = 1; i < 45; i++) printf( "%d\n ",Fib(i));
getchar();
return 0;
}。