以下是我打的程式碼
印出來是2,3,6,8,9
要怎麼把它變成23689一個數字
問題是這樣
請输入不按大小順序的五個個位教,請用排序的方法(例如:氣
泡排序、選擇排序)
排出最大的数與最小的数相減,最後輸出計
算過程及結果。
輸入:1-9-5-8-64
輸出:98651-15689=829624
#include
using namespace std;
int main()
{
int num[10];
int n;
int i,j,tmp,tmp1;
cin>>n;
for(i=0;i<n;i++){
cin>>num[i];
}
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
if(num[i]>num[j]){
tmp=num[i];
num[i]=num[j];
num[j]=tmp;
}
}
}
for(i=0;i<n;++i){
cout<<num[i]<<"";
}
cout<<endl;
int a=num[i];
cout<<a<<endl;
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
if(num[i]<num[j]){
tmp1=num[i];
num[i]=num[j];
num[j]=tmp1;
}
}
}
for(i=0;i<n;++i){
cout<<num[i]<<"";
}
cout<<endl;
int b=num[i];
cout<<b<<endl;
return 0;
}
利用跑迴圈的方式
計算每個數字的值
值 = 數字 * 10的(陣列長度-1-該數字在至陣列第幾位)次方
並全部相加即可(最後一位是數字*10的0次方=1)
第一個作業就寫成這樣
你要不要趕快去退選
不要聽到新聞說現在資訊夯
就一窩蜂地跑來修程式
你學那一點基礎也不能幹嘛
而且還是不穩固的基礎
#include <stdio.h>
int main(int argc, char *argv[]) {
int num2[5];
int num3[5];
int a1,a2,a3,a4,a5;
int b1,b2,b3,b4,b5;
int b,c,c1,d,d1;
int i,j,k;
int i_0,j_0,i_1,j_1;
a1 = 0;
a2 = 0;
a3 = 0;
a4 = 0;
a5 = 0;
b = 0;
c = 0;
c1 = 0;
printf("\n請輸入您的數字 0 至 9:\n");
for(i=0; i<=4; i++){
printf("\n第%d次輸入數字:",i);
if(i==0){
scanf("%d",&a1);
}
if(i==1){
scanf("%d",&a2);
}
if(i==2){
scanf("%d",&a3);
}
if(i==3){
scanf("%d",&a4);
}
if(i==4){
scanf("%d",&a5);
}
}
b1 = a1;
b2 = a2;
b3 = a3;
b4 = a4;
b5 = a5;
num2[0] = a1;
num2[1] = a2;
num2[2] = a3;
num2[3] = a4;
num2[4] = a5;
num3[0] = b1;
num3[1] = b2;
num3[2] = b3;
num3[3] = b4;
num3[4] = b5;
for(j=0; j<=4; j++){
for(i_0=0; i_0<=j; i_0++){
for(j_0=(i_0+1); j_0<=j; j_0++){
if(num2[i_0] < num2[j_0]){
c = num2[i_0];
num2[i_0] = num2[j_0];
num2[j_0] = c;
}
}
}
}
for(k=0; k<=4; k++){
for(i_1=0; i_1<=k; i_1++){
for(j_1=(i_1+1); j_1<=k; j_1++){
if(num3[i_1] > num3[j_1]){
c1 = num3[i_1];
num3[i_1] = num3[j_1];
num3[j_1] = c1;
}
}
}
}
d1 = (((num3[0])*10000)+((num3[1])*1000)+((num3[2])*100)+((num3[3])*10)+((num3[4])));
d = (((num2[0])*10000)+((num2[1])*1000)+((num2[2])*100)+((num2[3])*10)+((num2[4])));
printf("\n您第一次輸入的數字為:%d",a1);
printf("\n您第二次輸入的數字為:%d",a2);
printf("\n您第三次輸入的數字為:%d",a3);
printf("\n您第四次輸入的數字為:%d",a4);
printf("\n您第五次輸入的數字為:%d",a5);
b = d - d1;
printf("\n\n整理的數值最大值 %d 減去 最小值 %d:%d\n\n",d,d1,b);
system("PAUSE");
return 0;
}
程式碼可參考一下,感恩。