Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21106
  • 博文数量: 12
  • 博客积分: 288
  • 博客等级: 二等列兵
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-04 18:52
文章分类

全部博文(12)

文章存档

2012年(12)

我的朋友

分类: C/C++

2012-05-05 16:33:41

一、题目

 

“融四岁,能让梨”的故事家喻户晓。话说有一天,孔融父亲的朋友带了一盘梨子,给孔融兄弟们吃。父亲叫孔融分梨,孔融挑了个最小的梨子,其余按照长幼顺序分给兄弟。孔融说:“我年纪小,应该吃小的梨,大梨该给哥哥们。”

读了孔融的故事后,你决定向他学习。恰好有一天你得到了这样的机会,给你N个重量不同的水果(干嘛非得是梨啊?)每个水果的重量为Ai1<=i<=N),然后你从中拿出重量最小的一个水果,剩下的分给了你的爸妈(木办法啊,独生子女木有兄弟姐妹),然后你想知道你的爸妈拿到的水果的总重量是多少。

输入

第一行是N1),第二行是N个正整数Ai01<=i<=N)。

输出

输出一个整数W,为你的爸妈拿到的水果总重量。

样例输入

5

1 3 2 4 9

样例输出

18

 

 

二、分析

 

求爸妈拿到的水果总重量可以转变为:求水果总重量再减去自己拿到的水果重量


 


点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int min (int *p,int num); //声明函数,该函数用于求水果的最小重量
  4. int main ()
  5. {
  6.     int *p,n,i,sum=0;
  7.     scanf("%d",&n);
  8.     if((p=(int *)malloc(n*sizeof(int)))==NULL) //申请动态数组存储数据
  9.     {
  10.         printf("error:no enough room.\n");
  11.         exit(0);
  12.     }
  13.     for (i=0;i<n;i++) //求出水果总重量
  14.     {
  15.         scanf("%d",&p[i]);
  16.         sum+=p[i];
  17.     }
  18.     sum-=min(p,n); //总重减去自己所拿部分(子函数求得的最小重量)
  19.     printf("%d",sum);
  20.     return 0;
  21. }

  22. int min (int *p,int num) //函数实现,temp用于存储所求最小值
  23. {
  24.     int temp,k;
  25.     temp=*p;
  26.     for (k=1;k<num;k++)
  27.     {
  28.         if (temp>p[k])
  29.             temp=p[k];
  30.     }
  31.     return temp;
  32. }


 

阅读(600) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~