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

任意给定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日
  • 展开全部

悬赏问题

  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
  • ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
  • ¥15 yolov9的训练时间
  • ¥15 二叉树遍历没有报错但无法正常运行
  • ¥15 在linux系统下vscode运行robocup3d上场球员报错
  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动