您的位置:首页 > 理论基础

2007年兰州交通大学硕士研究生考试题(计算机编程题)

2007-12-20 16:32 459 查看
7题,用减法实现除法:

#include "Stdio.h"
#include "Conio.h"
main() {
/* 此处添加你自己的代码 */
int num1;
int num2;
int num;
int count=0;
printf("please input num1: /n");
scanf("%d", &num1);
printf("please input num2:/n");
scanf("%d", &num2);
num=num1;
printf("%d / %d = %d/n",num1,num2,num1/num2);
while ((num-num2)>=0) {
count++;
num=num-num2;
}
printf("%d / %d = %d", num1, num2, count);
getch();
}

8题:有n个人各拿一只桶,同时到一个水龙头前打水,水龙头注满第i(i=1,2,3.......n)个人的桶所需时间为Ti分钟(Ti各不相同)。请编写程序,对这个n个人进行排队,使他们花费的时间总和为最小,并求出这个时间。

#include "Stdio.h"
#include "Conio.h"

#define sum_person 10

int times(b,n)
int b[sum_person],n;
{
int i=0;
int sum=0;
for(i=0;i<=n;i++){
sum+=b[i];
}
return sum;
}

main()
{
/* 打水排队问题 */

int i,j,t;
int sum_times=0;
int a[sum_person];

printf("please input %d of numbers persons. /n",sum_person);

for(i=0;i<sum_person;i++){
printf("please input %d person need times : ",i+1);
scanf("%d",&a[i]);
}

for(i=0;i<sum_person-1;i++){
for(j=i+1;j<sum_person;j++){
if(a[j]<a[i]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}

}

for(i=0;i<sum_person;i++){
printf("%d ",a[i]);
}
printf("/n");

for(i=0;i<sum_person;i++){
sum_times+=times(a,i);
printf("%d person need time: %d/n",i+1,times(a,i));
}
printf("The %d persons need total times is : %d",sum_person,sum_times);
getch();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐