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

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();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值