當前位置:首頁 » 編程語言 » c語言講數字互換位置
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言講數字互換位置

發布時間: 2022-05-28 04:30:56

『壹』 c語言 數字交換的問題

主要的問題在於:你寫的這段邏輯,只能當最大或最小數不位於第一或第五位時才能實現數字交換;

否則,拿
1
2
3
4
5為例:1先和最大值5換,得到5
2
3
4
1;然後5再和最小值1換,得到1
2
3
4
5;結果相當於沒換;

在拿1
2
5
3
4為例:1先和5換,得到5
2
1
3
4;由於記錄最小值的p2還是0(原先1的位置),4再和a[p2]換的話,就是和5換了,而不再是1,所以會得到4
2
1
3
5;

『貳』 如何用c語言求輸入兩個整數a和b,交換他們的位置,然後輸出

# include <stdio.h>
int main(void)
{
int a,b,c;
printf("請輸入整數a:\n");
scanf("%d",&a);
printf("請輸入整數b:\n");
scanf("%d",&b);
printf("你輸入的數是a:%d\tb:%d\n",a,b);
c=a;
a=b;
b=c;
printf("它們交換位置後是a:%d/tb:%d\n",a,b);
retrun 0;
}

『叄』 在C語言中如何將兩個數進行互換

定義 A ,B, C,
把A保存到C
把B保存到A
把C保存到B
這要就OK了!
int a, b , c;
c = a;
a = b;
b = c;

『肆』 C語言:輸入10個整數,並將第一個數字和最後一個交換位置,第二個和倒數第二個交換,以此類推

#include<stdio.h>
#defineN10
intmain()
{
inta[N];
inti,j,tmp;
printf("輸入10個整數: ");
for(i=0;i<N;i++)
scanf("%d",a+i);
for(i=0,j=N-1;i<j;i++,j--)
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
printf("輸出數組元素: ");
for(i=0;i<N;i++)
printf("%d",a[i]);
printf(" ");
return0;
}

//示例運行結果
F:c_work>a.exe
輸入10個整數:
0123456789
輸出數組元素:
9876543210

『伍』 C語言;如何交換兩個數的位置

要下班了,你照著我這個程序改一下吧。
/*22_4:將兩個矩陣相加*/
#include <stdio.h>
void add(int x[][4],int y[4][4]) /*不需要返回值,a數組元素已被改變*/
{
int i,j; /*兩層循環變數*/
for(i=0;i<4;i++)
for(j=0;j<4;j++)
x[i][j]+=y[i][j];
return;
}

main()
{
int i,j; /*兩層循環變數*/
int a[4][4]=
{
{1,2,3,4},
{5,6,7,8},
{1,1,1,1},
{1,1,1,1}
};

int b[4][4]=
{
{1,2,3,4},
{5,6,7,8},
{3,3,3,3},
{3,3,3,3}
};

add(a,b); /*調用函數時如此簡單*/

/*輸出相加後的矩陣*/
printf("兩矩陣相加得:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
這個是我在跟公司師傅學C語言寫的一個

『陸』 C語言交換兩個數字的代碼

首先要捋順一下,先看第一段程序。這段程序的目的就是為了將兩個變數的數值進行交換。此時要明白指針的使用方法,這里的交換函數是void swap(int &x, int &y),即無返回值的函數,函數傳遞的參數是int &x和int &y,這兩個東西是什麼呢?這兩個東西是定義的引用,而這個我們就可以理解為是兩個用來存儲傳遞進來的參數的地址的變數(這么說可能有點亂,其實就是將調用該函數是時傳遞進來的變數的地址給這兩個參數),所以如果在這個swap函數中對這兩個參數操作時,實際上就是對傳遞進來的那兩個變數進行操作。至於你問的關於整型的問題,這個也很好理解,在c語言里地址就是整型的,而這兩個變數定義的時候也是int整型的,所以無論是地址還是值都是整型的,而又因為*a和*b是一個指針指向的值,所以*a、*b是整型,而&a、&b是指針的地址,所以也是整型。

接下來看你第二段程序(你自己寫的這個):
看程序前請仔細查看關於函數方面的資料,至於你這個return為什麼是錯的這個問題其實很簡單,首先要了解一個函數的定義,定義函數簡單的可以分為有返回值和無返回值的,有返回值的定義類似這樣
int abc();
float bcd();
如上所示,函數名什麼的都好理解,函數名前面的"int"和"float"是指函數返回的類型,即你這個函數在執行完之後需要用return語句返回一個值,而這個返回類型就是指這個返回值的類型。
還有一種是不需要返回值的,即
void abc();
void cde();
這類函數在執行完成後不需在最後添加return語句來返回值,如果添加了也用不了。
而你寫的這個函數定義的是
int swap(int x,inty)
這里聲明的是一個需要返回整型變數的函數,而這個函數里你的返回值語句return後沒有跟任何變數或值,程序不知道你返回的是什麼東西,所以會報錯,這里一般都會填寫return 0;表示程序執行完成。當然這個0也可以換成整型的變數。

最後說一下你這個程序,你這個程序在執行完成後是不會將需要交換的變數a和b的值進行交換的。這個關繫到形參和實參的概念,請仔細查看書籍或看一些例子,你這個只是將形參的值交換了,真正的需要交換的值不會改變,也就是說你只是將a和b的兩個值復制了一份,然後將復制了的那個交換了,當swap函數完成後又將復制了的那份刪除掉了,所以說,不管怎樣最初的a和b都沒有受到任何影響。

『柒』 c語言如何編寫兩個數字數值交換

我們用C語言的時候,經常需要將兩個數字交換,那麼如何實現呢?下面小編給大家分享一下。
工具/材料
Dev C++
01
首先我們在Dev C++軟體中新建一個C語言項目,如下圖所示
02
接下來我們在C語言文件中聲明兩個數字並輸出,如下圖所示
03
然後用一個中間變數對他們進行交換,如下圖所示
04
最後運行編寫好的C語言文件,我們就可以看到如下圖所示的交換結果了

『捌』 C語言中怎麼利用調用函數來寫兩行數字互換位置,就是把第一行的數放到第二行,把第二行的數放到第一行

#include<cstdio>
chars1[100000],s2[100000];
intmain()
{
gets(s1),gets(s2);
puts(s2),puts(s1);
return0;
}

『玖』 在C語言中如何將兩個數進行互換

將兩個數進行互換的方法有兩種形式:
1、藉助中間變數完成,此方法直觀,易理解,使用最多
2、不需要中間變數,通過變數身的運算完成交換。
參考代碼:
方法1:
int a=2,b=3,t;
t=a; //先將a存儲到臨時變數t中
a=b; //將b存儲到a中
b=t; //將臨時變數中的原a值存儲到b中
printf("a=%d b=%d\n", a,b );
方法2:
int a=2,b=3,t;
a += b ; //把兩數之和存到a中
b= a-b ; //用兩數和減去b可得原a,存儲到b中
a= a-b ; //因為b現在是原a值,所以,用兩數和減去b(原a)可得 原b,存儲到a中
此方法,還可以用異或運算來實現,原理相同。

『拾』 怎樣用C語言把一組數字調動位置

可以根據你的需要選擇不同的方法,例如調換兩個數的位置,那就直接交換就可以啦,如果是要把i位置的數插入到j位置,就可以用插入法,其他數做下順序移動。等等。