当前位置:首页 » 编程语言 » 排列组成最小数c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

排列组成最小数c语言

发布时间: 2022-06-26 19:23:12

‘壹’ 将组成整数的每个数字重新排列成一个最大和最小的数的c语言源程序责怎么写

C不是太熟,希望对你有点儿帮助。
首先是取得数字(如果是其他方式获得,这部分程序就改掉)
比如用getchar();

然后,将所得的数字处理好。
这个就是什么冒泡法什么的了,随便选择方式。下面的方式比较好理解:多次循环,比较相邻数组元素大小,看是否需要交换相邻两个变量的位置。

然后输出。
比如用printf();

如果是已经在内存中的数字,需要用%运算符,将余数赋值给数组。这是因为第一种例子中的数是字符型的,每个数字实际上都是ASCII字符。而现在说的这个数字,可能是一个整形数,这样就需要对其进行除以10取余数的运算。

加油!你肯定能写好。

‘贰’ C语言:冒泡排序法将数组中10个元素从小到大排序,并找出最小值

#include<stdio.h>

int main()

{

int a[11],min=0,t;

for(int i=0;i<10;i++)

scanf("%d",&a[i]);

min=a[0];

for(int i=0;i<10;i++)

if(a[i]<min)//求最小值

min=a[i];

for(int i=0;i<10;i++)//冒泡排序

for(int j=0;j<9-i;j++)

if(a[j]>a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

for(int i=0;i<10;i++)

printf("%d ",a[i]);

printf(" %d",min);

return 0;

}

‘叁’ 用选择排序搜索数组中的最小值【C语言】

void sort(int a[],int i,int n){
if(i==n) return ;
else {
int j;
int flag=i,t;
for(j=i;j<n;j++){
if(a[flag]>a[j]) flag=j;
}
if(flag!=j){
t=a[flag];
a[flag]=a[i];
a[i]=t;
}
sort(a,i+1,n);
}
}
void main(){
int a[10]={3,9,1,6,4,78,1,2,3,8};
int i;
printf("before sort:\n");
for(i=0;i<10;i++) printf("%d ",a[i]);
printf("\nafter sort:\n");
sort(a,0,10);
for(i=0;i<10;i++) printf("%d ",a[i]);
}

‘肆’ C语言题目,输入一个不超过20位的数,不改变位数,重新排列后输出最小的数

//根据题意,实际上就是对输入的数字进行从小到大的排序,一下代码使用冒泡排序#include<stdio.h>int main() {
int num[20];
char *str=new char[20];
//初始化数组
for(int i=0;i<20;i++){
num[i]=-1;
str[i]='\n';
}
//输入数据

cin>>str;
int i=0;
while(str[i]!=0)
{
num[i]=str[i]-48;
i++;
}
//排序
//冒泡排序
for(int i=0;i<20;i++){
for(int j=0;j<i;j++){
if(num[i]<num[j]){
int temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
}
for(int i=0;i<20;i++){
if(num[i]==-1){
continue;

}
else
{
printf("%d",num[i]);
}
}
return 0;
}

‘伍’ c语言对整形数组进行排序,输出其最小值和次最小值的序号如何做啊

C数组中, 找出最小、最大值你会吧, 其实这个思想跟找最大值是一样的
首先, 定义两个变量a,b用来存最小值和次最小值, 先比较数组的前两个元素,把最小的赋值给a,次最小的赋值给b,
然后 利用循环 把数组的元素依次与a,b相比,①如果这个值比最小的小,那就把这个最小的重新赋值给a,原来的最小也就变为次最小,②如果这个值只比次最小值 小,那就只把次最小重新赋值,③ 如果这个值比a,b都大,则换下一个元素继续比较,直到数组最后一个元素为止,

自己写程序吧, 这样才能学习的更深, 方法已经给你说了

‘陆’ 一个10个数排序并且记录最大最小位置的C语言程序

带符号的 char 只能表示最大 127 的正数。将 char a[10] 改成 int a[10] 就是了。

‘柒’ C语言~十个数字从小到大怎么排列~从大到小呢~

//要求任意输入10个数,然后按从小到大顺序输出
#include <stdio.h>
int main()
{
int a[10];
int i,j;
int temp;
printf("请输入10个整数:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("排列后顺序为:");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf(" ");
return 0;
}

‘捌’ C语言中要把三个数从大到小排列出来应该怎么编

初学简单版本代码如下:

#include<stdio.h>

int main( )

{

int a, b, c;//定义三个数的变量

int t ;//定义作为交换的变量

scanf ( "%d%d%d" , &a, &b, &c ) ; //取值

if ( a < b )

{t = a; a = b; b = t ;};//如果a,b,进行交换,反之不动

if ( a < c )

{t = a; a = c; c = t ;};//同上

if ( b < c )

{t = b; b = c; c = t ;};

printf( "%-5d%-5d%-5d " , a, b, c);//输出

}

(8)排列组成最小数c语言扩展阅读:

C语言中其他多个数排序的方法:

1、冒泡排序法

#include <stdio.h>

#define SIZE 8

void bubble_sort(int a[], int n);

void bubble_sort(int a[], int n)

{

int i, j, temp;

for (j = 0; j < n - 1; j++)

for (i = 0; i < n - 1 - j; i++)

{

if(a[i] > a[i + 1])

{

temp = a[i];

a[i] = a[i + 1];

a[i + 1] = temp;

} } }

int main()

{

int number[SIZE] = {95, 45, 15, 78, 84, 51, 24, 12};

int i;

bubble_sort(number, SIZE);

for (i = 0; i < SIZE; i++)

{

printf("%d ", number[i]);

}

}

2、选择排序

#include<stdio.h>

void main()//主函数

{

int a[10];

int i,j,w;

printf("请输入10个数字: ");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<10;i++)

{

for(j=i+1;j<10;j++)

if(a[i]<a[j])//进行比较

//比较后进行交换

{

w=a[i];

a[i]=a[j];

a[j]=w;

}

‘玖’ C语言把十个数按从小到大顺序排列,结果输出十个数都是最小的那个数,不知道哪里错了

#include<stdio.h>
intmain()
{
inta[10]={65,12,12,4,32,54,8,4,2,34},i,j,t;
/*
for(i=0;i<9;i++)
for(j=i+1;j<=9;j++)
if(a[i]<a[j])
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
*/
//修改如下
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
for(j=0;j<10;j++)
{
printf("%d ",a[j]);
}
printf(" ");
}

‘拾’ c语言 编程。 整数各位数重组构成的最大值与最小值

#include<string.h>
voidmain()
{
chars[10],i,j,t,k;
printf("输入一个整数(不大于十位): ");
scanf("%s",&s);
k=strlen(s);
for(i=0;i<k;i++)
{
for(j=0;j<=i;j++)
if(s[i]>s[j])
{
t=s[i];
s[i]=s[j];
s[j]=t;
}
}
printf("Max=%s ",s);
printf("Min=");
for(i=k-1;i>=0;i--)
printf("%c",s[i]);
printf(" ");

}