導航:首頁 > 編程語言 > 正負數間隔排序python

正負數間隔排序python

發布時間:2023-04-18 20:16:49

『壹』 turboc2.0 把輸入的十個整數按正負數分開後分別按從小到大的順序列印出來

#include<stdio.h> #include<stdlib.h> void main() { //i,j用於循環,temp用於排序時交換,input[10]用於存儲輸入的原始數據,a[10]正數數組,b[10]負數數組,c存儲輸入的正數數量,d存儲輸入的負數數量 int i,j,temp,input[10],a[10],b[10],*pa=a,*pb=b,c=0,d=0; printf("Please input 10 integers:\n"); for(i=0;i<10;i++) scanf("%d",&input[i]); for(i=0;i<10;i++){ if(input[i]>0){*pa++=input[i];c++;} else {*pb++=input[i];d++;} } //以下兩個循環將未賦值的數組元素賦值0 for(i=c;i<10;i++)a[i]=0; for(j=d;j<10;j++)b[j]=0; //以下兩個for循環將存儲的正負數數組元素按從小到大排序 for(i=0;i<9;i++) for(j=i+1;j<10;j++){ if(a[i]>a[j]){ temp=a[i];a[i]=a[j];a[j]=temp;} if(b[i]>b[j]){ temp=b[i];b[i]=b[j];b[j]=temp;} } printf("正數從小到大排序結果:\n"); for(i=0;i<10;i++)if(a[i]!=0)printf("%d\叢賀t",a[i]); printf("\n負數從小到大排序結果:\n"); for(i=0;i<10;i++)if(b[i]!=0)printf("%d\t",b[i]); printf("\n"); system("pause"); } 補充: 太晚了,沒時間認真寫了。代碼質量不好,但功能是實現了,VC6.0測試正常運行,沒滲橡派使用特殊函數,TC下如旅應該也能正常運行。 追問: 正負數分行怎麼辦? 回答: 正負數分行?什麼意思? 追問: 結果是 -1 -2 1 2 。。。。 回答: 呃!現在顯示結果就是那樣啊,分行顯示啊 補充: 你是說在一行顯示,先顯示負數,後顯示正數?

『貳』 python中如何統計出列表的正負數總數,如s=【1,5,-7】,如何求出的結果是正數有2個,負數

可以使用簡潔的列表推導式

x鄭肆=[1,5,-7]
printsum([int(xi>0)forxiin喊手轎x])#正數
printsum([int(xi<0)forxiinx])#負薯指數

『叄』 用python寫,從鍵盤輸入非0整數,以輸入0為輸入結束標志,求平均值,統計正數負數個數

1、打開IDLE編前大旁程環境。

『肆』 【python】數組中絕對值最小的數

題目:有一個升序的數組,數組中可能有正數、負數或者0,求數組中元素的絕對值最小的數。例如,數組[-10, -5, -2, 7, 15, 50],該數組中絕對值最小的數是-2。

分析:二分法。該題可分為以下三種情況:

(1)如果數組第一個元素為非負數,那麼minNum = arr[0]

(2)如果數組最後一個值為負數,那麼minNum = arr[-1]。

(3)如果數組中既有正數又有負數,首先找到正數與負數的分界點,如果分界點恰好為0,那麼0為最小值。否則通過比較分界點左右的正數與負數的絕對值來確定最小數。

如何查找正數與負數的分界點呢?採用二分法,主要思路:取數組中間位置的值a[mid],並將它與0值比較,比較結果分為如下三種情況:

(1)如果a[mid] == 0,那麼這個數就是絕對值最小的數。

(2)如果a[mid] > 0,a[mid - 1] < 0,那麼通過比較a[mid]與a[mid - 1]的絕對值就可以找到數組中絕對值最小的數;如果a[mid - 1] == 0, 那麼a[mid - 1]就是要找的數;否則接著在數組的左半部分查找。

(3)如果a[mid] < 0,a[mid + 1] > 0,那麼通過比較a[mid]與a[mid +1]的絕對值就可以找到數組中絕對值最小的數;如果a[mid + 1] == 0, 那麼a[mid + 1]就是要找的數;否則接著在數組的右半部分查找。

code:

def findMinNum(arr):

    if arr is None or len(arr) <= 0:

        return

    # [1] 數組中沒有負數

    if arr[0] >= 0:

        return arr[0]

    # [2] 數組中沒有正數

    if arr[-1] <= 0:

        return arr[-1]

    # [3] 數組中既有正數又又負數

    mid = None

    absMin = None

    begin = 0

    end = len(arr) - 1

    while begin < end:

        mid = begin + (end - begin) >> 1

        # 如果arr[mid] == 0,則是絕對值最小的數

        if arr[mid] == 0:

            return 0

        # 如果大於0, 正負數的分界點在左側

        elif arr[mid] > 0:

            # 繼續在數組的左半部分查找

            if arr[mid - 1] > 0:

                end = mid - 1

            elif arr[mid - 1] == 0:

                return 0

            # 找到正負數的分界點

            else:

                break  # 如果小於0, 在數組右半部分查找

        else:

            # 在數組的右半部分繼續查找

            if arr[mid + 1] < 0:

                begin = mid + 1

            elif arr[mid + 1] == 0:

                return 0

            else:

                break

    # 獲取正負數分界點處絕對值最小的值

    if (arr[mid] > 0):

        if arr[mid] < abs(arr[mid - 1]):

            absMin = arr[mid]

        else:

            absMin = arr[mid - 1]

    else:

        if abs(arr[mid]) < abs(arr[mid + 1]):

            absMin = arr[mid]

        else:

            absMin = arr[mid + 1]

    return absMin

if __name__ == "__main__":

    arr = [-10, -5, -2, 7, 15, 50]

    print(findMinNum(arr))

『伍』 一個整數集合(任意n個數),包含正負數,對其進行排序使負數排在正數前面,要求不改變原來的相對順序

#include<stdio.h>
main()
{int n,i,j,t,a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=0;j<n-i;j++)
if(a[j]>0&&a[j+1]<0)
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}

『陸』 匯編 正負數排列

; 題目名稱:隨機幾個正負數, 輸出要求是正數從大到小排列,負數從小到大排列
; 題目來源:http://..com/question/131775278.html
; 本程序在MASMPlus 1.2集成環境下通過編譯,經過調試,運行正確。
Code Segment
Assume CS:Code,DS:Code
; -------------------------------------
; 功能:顯示指定地址(Str_Addr)的字元串
; 入口:
; Str_Addr=字元串地址(要求在數據段)
; 用法: Output Str_Addr
; 用法舉例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------
; 功能:在當前游標位置顯示一個字元
; 入口:dl=要顯示的字元
Output_Chr proc Near
push ax
mov ah,2
int 21h
pop ax
ret
Output_Chr Endp
; -------------------------------------
; 功能:把AX中的二進制有符號數轉換成顯式的十進制ASCII碼,並送顯示屏顯示
; 入口:AX=二進制數
; 出口:在當前游標位置顯示轉換後的ASCII碼數字
Sign_Dec_ASCII Proc Near
push ds
push cs
pop ds
push cs
pop es
push dx
push bx
push di
test ah,80h
jz @@Tran_ASCII
neg ax
push ax
mov dl,'-'
mov ah,2
int 21h
pop ax
@@Tran_ASCII: mov bx,10
lea di,@@Temp_SaveS[5]
mov BYTE ptr [di],'$'
dec di
cld
@@Divide_S: xor dx,dx
div bx
or dl,30h
mov [di],dl
dec di
test ax,0ffffh
jnz @@Divide_S
inc di
push di
pop dx
mov ah,9
int 21h
pop di
pop bx
pop dx
pop ds
ret
@@Temp_SaveS db 6 p(?)
Sign_Dec_ASCII EndP
; ----卜鉛---------------------------------
; 功能:冒泡排序法將數組元素升序或降序排序,顯示排序結果
; 入口參數:SI=數組地址(第一個元素存放元素個數),AL=排序方向
Bubbling_Sort proc Near
push si
mov BYTE ptr @@Compare[5],al ;修改排序方向
mov cl,[si] ;數據個數
xor ch,ch
dec cx ;外循環次數
inc si
cld
@@Scanning: push cx ;入棧保存外循環次數
push si ;入棧保存數組地址
@@Compare: mov di,si ;當前數組元素地址賦給目的變址寄存器,以備交換之用
lodsb ;將當前唯弊核數組元素讀入累加器
cmp al,[si] ;當前數組元素與相鄰的下一個數組元素相比較
jae @@NextOne ;若大於或等於,不作指掘數據交換,處理下一個數組元素
xchg al,[si] ;若小於,交換數組元素
stosb ;保存數值較小者
@@NextOne: loop @@Compare ;處理下一個數組元素
pop si ;數組地址出棧
pop cx ;外循環次數出棧
loop @@Scanning ;下一趟比較
mov cl,[si-1] ;數據個數
xor ch,ch
@@List_Scores: lodsb
cbw ;擴展為字
call Sign_Dec_ASCII ;把AX中的二進制有符號數轉換成顯式的十進制ASCII碼,並送顯示屏顯示
mov dl,20h
call Output_Chr ;顯示一個空格
loop @@List_Scores
pop si
ret
Bubbling_Sort Endp
; -------------------------------------
Buffer db 23,-69,-89,35,-46,57,-68,79,-51,-81,98,-43,56,-67,123,-98,102,-87,-91,-100
Counter equ $-Buffer ;數據個數
Press_Key db 13,10,10,10,'The complated. Press any key to exit...$'
Start: push cs
pop ds
push cs
pop es
xor dx,dx ;DH=正數數組元素計數器,DL=負數數組元素計數器
lea si,Buffer ;取數組變數地址
lea di,Tmp_Buffer[1] ;正數數組地址
mov bx,di
mov cx,Counter ;元素個數
add bx,cx
inc bx ;負數數組地址
cld
@@Statics: lodsb ;讀入一個元素
test al,80h ;正數?
jz $+9 ;是
inc dl ;負數計數
mov [bx],al ;保存負數
inc bx
jmp $+5
inc dh ;是,正數計數
stosb ;保存正數
loop @@Statics
lea si,Tmp_Buffer ;正數數組地址
mov [si],dh ;保存正數數組元素個數
mov [si][21],dl ;保存負數數組元素個數
mov al,73h ;排序方向代碼:降序
call Bubbling_Sort ;排序並顯示
mov ax,0e0dh
xor bx,bx
int 10h
mov al,10
int 10h
int 10h
add si,21 ;負數數組地址
mov al,76h ;排序方向代碼:升序
call Bubbling_Sort ;排序並顯示
; -------------------------------------
Exit_Proc: Output Press_Key ;提示操作完成,按任意鍵結束程序
mov ah,1
int 21h
mov ah,4ch ;結束程序
int 21h
Tmp_Buffer: ;數據緩沖區
Code ENDS
END Start ;編譯到此結束

『柒』 用python輸入一個浮點數,討論該數為正數和負數兩種情況下絕對值的演算法

在Python中,我們可以使用內置的abs()函數來求浮點數的絕對值。但如果您希望了解正數和負數兩種情況下的演算法,我們可以分別討論。

首先,讓我們創建一個簡單的輸入,要求用戶輸入一個浮點數,並將其存儲在一個變數中:

pythonCopy codenumber = float(input("請輸入一個浮點數:"))

接下來,我們可以根據輸入的浮點數是正數還是負數來計算其絕對值。

『捌』 python之序列

Python 中的序列是一塊可存放多個值的連續內存空間,所有值按一定順序排列,每個值所在位置都有一個編號,稱其為索引,我們可以通過索引訪問其對應值。

其實字元串就是序列結構,除此之外常見的序列結構還包括列表、元組等。

序列索引支持非負數和負數, 索引為非負數弊改,從 0 開始 ,如下所示:

以字元串為例,如下所示:

輸出結果租老判:

從結果來看,我們使用非負數索引與負數索引得到的結果一致。

切片操作可以訪問一定范圍內的元素,語法如下所示:

以字元串為例,如下所示:

輸出結果:

Python 支持類型相同的序列使用 + 作相加操作,該操作不會去除重復的元素。以字元串為例,如下所示:

輸出結果:

Python 中,使用數字 n 乘以一個序列會生成新的序列,內容為原來序列被重復 n 次的結果。以字元串為例,如下所示:

輸出結果:

Python 使用 in 關鍵字檢查某元素是否為序列的成員,語法如下:
val in seq

以字元串為例,如下所示:

輸出結果:
True
2.6 內置函數
len()—— 計算序列的長度
max()——找出序列中的最大元素
min()——找出序列中的最小元素
list() ——將序列轉換含檔為列表
str() ——將序列轉換為字元串
sum()——計算元素的和
sorted()——對元素進行排序
enumerate()——將序列組合為一個索引序列,多用在 for 循環中
舉例,如下所示:

輸出結果:

『玖』 EXCEL表格中既有負數又有正數,如何才能正確排列數值

EXCEL表格中既有負數又有正數,使用排序功能即可簡單實現排序。納叢

方法步驟如下:

1、打開需要操作的EXCEL表格,選中需要排序的相關數據。

『拾』 Python求s=1-2!+3!-4!…-10!

以漏帶下是 Python 代碼,用於計算 s=1-2!+3!-4!…-10! 的值:

```

def factorial(n):

result = 1

for i in range(1, n+1):

result *= i

return result

s = 0

for i in range(1, 11):

sign = (-1) ** (i + 1)

s += sign * factorial(i)

print("s的值為:", s)

```

在上述程序中,我們定義了一個名為 `factorial` 的函數,用於計算給定數字的階乘。然後,我們使用循環遍歷返襪蘆 1 到 10 之間的所有數字,並在每次迭代中計算當前數字的階乘。好戚接下來,我們使用 `-1` 的冪次方來判斷當前項的正負號,並將其加到 `s` 變數中。

最後,我們輸出 `s` 變數的值作為結果。

閱讀全文

與正負數間隔排序python相關的資料

熱點內容
怎麼初步認識編程 瀏覽:206
為什麼程序員都喜歡谷歌 瀏覽:889
壓縮性骨拆能自愈嗎 瀏覽:275
安卓怎麼設置游戲畫面 瀏覽:112
k線上寫字源碼 瀏覽:455
單擊按鈕保存資料源碼 瀏覽:352
華為gt加密卡 瀏覽:211
河北超融合伺服器廠家雲主機 瀏覽:892
芙兒優安全座椅app怎麼連接 瀏覽:292
專業美團騎手app怎麼開通 瀏覽:947
個人音樂分享網站源碼 瀏覽:375
在新電腦上怎麼注冊加密狗 瀏覽:123
最後一戰游戲源碼 瀏覽:5
phpmysql實例下載 瀏覽:751
傳智黑馬安卓非加密 瀏覽:553
伺服器如何配置host 瀏覽:1001
守望執行命令 瀏覽:371
加密狗插上去了怎麼辦 瀏覽:624
錘子m1怎麼把文件夾重置 瀏覽:213
APP的數據會存在哪裡 瀏覽:66