| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 438 人关注过本帖
标题:在tc2.0中无法正常继续运行
只看楼主 加入收藏
neng27
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-9-7
收藏
 问题点数:0 回复次数:1 
在tc2.0中无法正常继续运行

#include <conio.h>
#define size 1000

main()
{

int i,j,m,n,pp[size]; /*********变量**************/
double p[size]; /**********各单位人数********/
double seat[size]; /****各单位分配的席位*******/
double q[size]; /*******相对公平度***********/
double max; /*****相对公平度的最大值*****/
int pos; /****相对公平度最大的单位****/
int sum=0; /*****已分配席位总数*********/
clrscr();

printf("Input the number of units(m):\n");
scanf("%d",&m); /***输入参加分配席位的单位数**/
printf("Input the total number of seats(n):\n");
scanf("%d",&n); /******输入席位总数***********/
printf("Input the number of each unit:\n");
for(i=0;i<m;i++)
scanf("%d",&pp[i]); /*****输入各单位人数**********/
for(i=0;i<m;i++)
{
seat[i]=1.0;
p[i]=pp[i];
}

while(sum<n-1) /***循环条件:席位未分配完时**/
{
sum=0; /**本次已分配席位总数清空为0**/
for(i=0;i<m;i++)
sum=sum+seat[i]; /*****计算本次分配席位总数****/
for(j=0;j<m;j++)
q[j]=pp[j]*pp[j]/(seat[j]*(seat[j]+1)); /*计算各单位相对公平度*/

for(j=0,max=q[0],pos=0;j<n;j++)
if (q[j]>max)
{
max=q[j];
pos=j;
} /*****求相对公平度最大的单位********/
seat[pos]=seat[pos]+1; /*给相对公平度最大的单位增加1个席位*/
}
printf("\n\npeople:\n");
for(i=0;i<m;i++)

printf("%5d",pp[i]); /*****输出各单位人数****/
printf("\nseat:\n%5d\nresult:\n",n); /*****输出席位总数*****/
for(i=0;i<m;i++)
printf(" seat[%d]=%.0f\n",i+1,seat[i]); /*******输出分配结果****/
}

搜索更多相关主题的帖子: 运行 
2007-06-01 10:48
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
OK了!
#include <conio.h>
#define size 1000
#include <stdio.h>
int main()
{

int i,j,m,n,pp[size]; /*********变量**************/
double p[size]; /**********各单位人数********/
double seat[size]; /****各单位分配的席位*******/
double q[size]; /*******相对公平度***********/
double max; /*****相对公平度的最大值*****/
int pos; /****相对公平度最大的单位****/
double sum=0; /*****已分配席位总数*********/
//clrscr();

printf("Input the number of units(m):\n");
scanf("%d",&m); /***输入参加分配席位的单位数**/
printf("Input the total number of seats(n):\n");
scanf("%d",&n); /******输入席位总数***********/
printf("Input the number of each unit:\n");
for(i=0;i<m;i++)
scanf("%d",&pp[i]); /*****输入各单位人数**********/
for(i=0;i<m;i++)
{
seat[i]=1.0;
p[i]=pp[i];
}

while(sum<n-1) /***循环条件:席位未分配完时**/
{
sum=0; /**本次已分配席位总数清空为0**/
for(i=0;i<m;i++)
sum=sum+seat[i]; /*****计算本次分配席位总数****/
for(j=0;j<m;j++)
q[j]=pp[j]*pp[j]/(seat[j]*(seat[j]+1)); /*计算各单位相对公平度*/

for(j=0,max=q[0],pos=0;j<n;j++)
if (q[j]>max)
{
max=q[j];
pos=j;
} /*****求相对公平度最大的单位********/
seat[pos]=seat[pos]+1; /*给相对公平度最大的单位增加1个席位*/
}
printf("\n\npeople:\n");
for(i=0;i<m;i++)

printf("%5d",pp[i]); /*****输出各单位人数****/
printf("\nseat:\n%5d\nresult:\n",n); /*****输出席位总数*****/
for(i=0;i<m;i++)
printf(" seat[%d]=%.0f\n",i+1,seat[i]); /*******输出分配结果****/
return 0;
}
主要原因是这一句“sum=sum+seat[i]; ”提示D:\C语言\5.cpp(33) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
。你把它定义为double型就可以了。

~~我的明天我知道~~
2007-06-01 11:58
快速回复:在tc2.0中无法正常继续运行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023460 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved