从键盘输入任意20个整数数序输出,然后由小到大排序后输出。
答案:5 悬赏:0 手机版
解决时间 2021-03-01 23:35
- 提问者网友:末路
- 2021-03-01 10:18
从键盘输入任意20个整数数序输出,然后由小到大排序后输出。
最佳答案
- 五星知识达人网友:青尢
- 2021-03-01 11:34
用冒泡法:
#include "stdio.h"
void main()
{
int i, j, t, N;
int a[1000];
printf("请输入要排序数字个数: ");
scanf("%d",&N);
printf("\n请输入%d个数字:\n",N);
for(i=1; i<=N; i++)
scanf("%d",&a[i]);
printf("\n你输入的数据为:");
for(i=1; i<=N; i++)
{
printf("%5d",a[i]);
}
for(j=1; j for (i=1; i<=N-j; i++)
{
if (a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
printf("\n\n由小到大顺序是:\n");
for(i=1; i<=N; i++)
printf("%d\n",a[i]);
printf("\n");
}
#include "stdio.h"
void main()
{
int i, j, t, N;
int a[1000];
printf("请输入要排序数字个数: ");
scanf("%d",&N);
printf("\n请输入%d个数字:\n",N);
for(i=1; i<=N; i++)
scanf("%d",&a[i]);
printf("\n你输入的数据为:");
for(i=1; i<=N; i++)
{
printf("%5d",a[i]);
}
for(j=1; j
{
if (a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
printf("\n\n由小到大顺序是:\n");
for(i=1; i<=N; i++)
printf("%d\n",a[i]);
printf("\n");
}
全部回答
- 1楼网友:纵马山川剑自提
- 2021-03-01 15:06
#include
#define N 20
void main()
{
int a[N+1],b,c,temp;
printf("请输入20个数字:\n");
for(b=1;b<=N;b++)
scanf("%d",&a[b]);
for(b=1;b<=N-1;b++)
for(c=1;c<=N-b;c++)
if(a[c]>a[c+1])
{
temp=a[c];
a[c]=a[c+1];
a[c+1]=temp;
}
for(b=1;b<=N;b++)
printf("%d ",a[b]);
putchar('\n9');
}
#define N 20
void main()
{
int a[N+1],b,c,temp;
printf("请输入20个数字:\n");
for(b=1;b<=N;b++)
scanf("%d",&a[b]);
for(b=1;b<=N-1;b++)
for(c=1;c<=N-b;c++)
if(a[c]>a[c+1])
{
temp=a[c];
a[c]=a[c+1];
a[c+1]=temp;
}
for(b=1;b<=N;b++)
printf("%d ",a[b]);
putchar('\n9');
}
- 2楼网友:爱难随人意
- 2021-03-01 14:31
应该用起泡法做:
#include "stdio.h"
void main()
{
int i, j, t, N;
int a[20];
printf("请输入20个数字:\n");
for(i=0; i<20; i++)
scanf("%d",&a[i]);
for(i=1; i<=20; i++)
{
printf("%5d",a[i]);
}
for(j=1; j<20; j++)
for (i=1; i<=20-j; i++)
{
if (a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
printf("\n这些数由小到大顺序是:\n");
for(i=0; i<20; i++)
printf("%d\n",a[i]);
printf("\n");
}
这样就行了,试试吧
#include "stdio.h"
void main()
{
int i, j, t, N;
int a[20];
printf("请输入20个数字:\n");
for(i=0; i<20; i++)
scanf("%d",&a[i]);
for(i=1; i<=20; i++)
{
printf("%5d",a[i]);
}
for(j=1; j<20; j++)
for (i=1; i<=20-j; i++)
{
if (a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
printf("\n这些数由小到大顺序是:\n");
for(i=0; i<20; i++)
printf("%d\n",a[i]);
printf("\n");
}
这样就行了,试试吧
- 3楼网友:洎扰庸人
- 2021-03-01 13:01
vc下使用
#include
int main()
{
int number;
double a[1000];
double temp;
cout<<"请输入排列数字个数"< cin>>number;
cout<<"请输入数字"< for (int m=0;m {
cin>>a[m];
}
for (int i=0;i {
for(int j=0;j {
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for (int n=0;n {
cout< }
return 0;
}
#include
int main()
{
int number;
double a[1000];
double temp;
cout<<"请输入排列数字个数"<
cout<<"请输入数字"<
cin>>a[m];
}
for (int i=0;i
for(int j=0;j
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for (int n=0;n
cout< }
return 0;
}
- 4楼网友:笑迎怀羞
- 2021-03-01 12:05
vdime sz(10)
for i=1 to 10
input '请输入第'+STR(i)+'个数:' to sz(i)
endfor
for i=1 to 9
for j=i+1 to 10
if sz(i)>sz(j)
a=sz(i)
sz(i)=sz(j)
sz(j)=a
endif
endfor
endfor
FOR i=1 TO 10
?sz(i)
endfor
for i=1 to 10
input '请输入第'+STR(i)+'个数:' to sz(i)
endfor
for i=1 to 9
for j=i+1 to 10
if sz(i)>sz(j)
a=sz(i)
sz(i)=sz(j)
sz(j)=a
endif
endfor
endfor
FOR i=1 TO 10
?sz(i)
endfor
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯