m0_73080662 2022-10-29 18:00 采纳率: 83.3%
浏览 178
已结题

任意给定n个整数,求这n个整数序列的和、最小值和最大值。

任意给定n个整数,求这n个整数序列的和、最小值和最大值。

输入格式:
第一行为一个整数n(0<n<100),代表要输入的整数个数;第二行为用空格分隔的n个整数。测试用例保证所有整数及求和结果等均可以用int存储。

输出格式:
只有一行,为三个空格分隔的,依次代表整数序列的和、最大值和最小值。

用代码块功能插入代码,请勿粘贴截图
#include<stdio.h>
int main ()
{  int n=0;
 int i,s ,j;
 scanf("%d",&n);
    int arr[n-1];//
 if (n<=1) 
 {scanf("%d",&s);
     printf("%d %d %d",s,s,s);}
  else
  { for (i=0;i<=(n-1);i++)
 {
     scanf("%d",&s);
  arr[i]=s;
 }

 int sum=0;
 for (i=0;i<=(n-1);i++)
 {sum+=arr[i];
  
 }
 for(i=0;i<=(n-1);i++)
 {for (j=0;j<=(n-j-1);j++)
 { int temp=0;
  if (arr[j]>arr[j+1]) 
  {temp =arr[j];
  arr[j]=arr[j+1];
  arr[j+1]=temp;
  }  
 }    
 } 
 printf("%d %d %d\n",sum,arr[n-1],arr[0]);}

 return 0 ;}


试了很多次测试数据都能达到要求,但是PTA上一直是四十分
,不知道遗漏了什么
采用了冒泡排序

非常感谢

  • 写回答

5条回答 默认 最新

  • X-道至简 2022-10-30 07:10
    关注

    有几个错误

    1. 第6行,int arr[n-1]; 应该改成 int arr[n];
    2. 第23行 {for (j=0;j<=(n-j-1);j++) 这个j<=(n-j-1) 应该改成 j<=(n-i-1)
    3. 上面两个改了后看下,题目说输出是3个空格,也可以改改, 注意第9行和32行同时改
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 11月7日
  • 已采纳回答 10月30日
  • 赞助了问题酬金15元 10月30日
  • 赞助了问题酬金1元 10月30日
  • 展开全部

悬赏问题

  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图