ZZULIOJ 1118: 数列有序
生活随笔
收集整理的這篇文章主要介紹了
ZZULIOJ 1118: 数列有序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數列有序
題目描述
一個非遞減有序的整型數組有n個元素,給定一個整數num,將num插入該序列的適當位置,使序列仍保持非遞減有序。
要求定義一個函數insert(),將整數num插入在數組a的適當位置上,函數原型如下:
int insert(int a[], int n, int num);
另外函數仍然調用以前定義過的函數PrintArr()輸出數組所有元素。
輸入
輸入有三行。第一行是一個正整數n,n<=1000。第二行是n個整數,第三行是待插入整數num。
輸出
輸出非遞減有序的n+1個整數,數據之間用空格隔開。輸出占一行。
樣例輸入 Copy
5
1 2 4 5 6
3
樣例輸出 Copy
1 2 3 4 5 6
提示
元素之間有空格,最后一個元素后面沒有空格。
#include<stdio.h> const int N=1000; void insert(int a[],int n,int num)//插入元素 {int i;for(i=n-1;i>=0;i--){if(a[i]>num)a[i+1]=a[i];elsebreak;}a[i+1]=num; } void PrintArr(int a[],int n)//輸出數組 {int i,x=0;for(i=0;i<=n;i++){if(x==0)//目的為了最后一個后面沒有空格,使下一個數前面有空格{printf("%d",a[i]);x=1;}else{printf(" %d",a[i]);}}printf("\n"); } int main() {int i,n,x;int a[N];scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i]);}scanf("%d",&x);insert(a,n,x);PrintArr(a,n);return 0; }
總結
以上是生活随笔為你收集整理的ZZULIOJ 1118: 数列有序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OJ1032: 员工薪水
- 下一篇: OJ1012: 求绝对值