一道有关c程的题目:设数组每个元素只存储0至9的数,把该数组的前n个整数的排列看做是一个n位的整数.设数组每个元素只存储0至9的数,把该数组的前n个整数的排列看做是一个n位的整数.请高
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 16:50:27
一道有关c程的题目:设数组每个元素只存储0至9的数,把该数组的前n个整数的排列看做是一个n位的整数.设数组每个元素只存储0至9的数,把该数组的前n个整数的排列看做是一个n位的整数.请高
一道有关c程的题目:设数组每个元素只存储0至9的数,把该数组的前n个整数的排列看做是一个n位的整数.
设数组每个元素只存储0至9的数,把该数组的前n个整数的排列看做是一个n位的整数.请高手们编写一个程序,对数组中的元素作调整,产生一个新的排列,使新排列表示的长整数比调整前的整数大(如果可能的话),但又是所有更大的表示中最小的.例如a[]={3,2,6,5,4,1},则运行程序后结果为{3,4,1,2,5,6}.
我的程序是
#include
void main()
{int n,b,i,j,c,p,temp,tem,m,k;
int a[100];
printf("Enter n");
scanf("%d",&n);
printf("Enter a[0] -- a[%d]\n",n-1);
for(i=0;ia[j-1])
b=a[j-1];break;}
for (i=n-1;i>j;i--)
{if (a[i]>b && a[i]
一道有关c程的题目:设数组每个元素只存储0至9的数,把该数组的前n个整数的排列看做是一个n位的整数.设数组每个元素只存储0至9的数,把该数组的前n个整数的排列看做是一个n位的整数.请高
#include
void main()
{int n,d,i,j,c,k;
int a[100],b[100];
printf("Enter n");
scanf("%d",&n);
printf("Enter a[0] -- a[%d]\n",n-1);
for(i=0;i0;j--)
{if (a[j]>a[j-1])
{d=a[j-1];break;}}
for (i=n-1;i>=j;i--)
{if (a[i]>d)
{c=a[i];a[j-1]=c;a[i]=d;break;}}
for(k=j;k