用交换可能更快.
还没想到好办法,期待ing...
倚天照海花无数,流水高山心自知。
第四题
计算机要运行处理n个等待进程(任务)(依次标记为1,2,3...).完成进程i需要Ti个CPU时间,你的任务就是找出一个方法使得在规定的时间T内能够处理完最多的进程.如果方法不止一种,则找在时间T内使用CPU时间最大的那个.
输入:
第一行包含一个整数(在1和100之间),表示几组测试数据.每组测试数据的第一行包括两个整数n,T代表n个进程和时间T.你必须完成最多的进程和使用最大的CPU时间.第二行表示要完成这n组进程分别发费的时间.所有的数都是整数.
输出:
对每组测试数据,每行输出最多的进程数和最大的CPU使用时间,两个数用一个空格隔开.每组测试数据一行.
麻烦看一下:以下程序错 在了哪里?
#include <stdio.h>
#define MAX 54
void main()
{
char p;
int i,j,x;
float m=0,k=0;
char str[1024][MAX];
scanf("%d",&i);
printf("\n");
for(j=1;j<=i;j++)
scanf("%s",str[j]);
for(j=1;j<=i;j++)
{
p=str[j][0];
while(p!='\0')
{
while(p!=',')
{k++;m++;
p=str[j][m];
if(p=='\0') goto loop;
}
m++;
k=k*8;
p=str[j][m];
}
loop: printf("%f\n",k);
}
}
[此贴子已经被作者于2007-4-28 23:25:01编辑过]