问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用c语言解决输入一个四位数,求由这四个数字组成的最大数与最小数字之差

发布网友 发布时间:2022-04-24 02:56

我来回答

5个回答

热心网友 时间:2023-10-23 06:35

可以用排序的方法:

#include<stdio.h>
int jx(int *a);//降序排列 得最大值
int sx(int *a);//升序排列 得最小值
int main()
{
    int a[4],i,max,min;
    char c[5];
    printf("输入4位数字:");
    scanf("%s",c);
    for(i=0;i<4;i++)
        a[i]=c[i]-'0';
    max=jx(a);
    min=sx(a);
    printf("四位数%s组成的最大数字%d与最小数字%d的差为:%d",c,max,min,max-min);
    return 0;
}
int jx(int *a)//降序排列 得最大值
{
    int i,j,aSave,num=0;
    for(i=0;i<4;i++)
        for(j=i+1;j<4;j++)
        {
            if(a[i]<a[j])
            {
                aSave=a[i];
                a[i]=a[j];
                a[j]=aSave;
            }
        }
    num=a[0]*1000+a[1]*100+a[2]*10+a[3];
    return num;
}
int sx(int *a)//升序排列 得最小值
{
    int i,j,aSave,num=0;
    for(i=0;i<4;i++)
        for(j=i+1;j<4;j++)
        {
            if(a[i]>a[j])
            {
                aSave=a[i];
                a[i]=a[j];
                a[j]=aSave;
            }
        }
    num=a[0]*1000+a[1]*100+a[2]*10+a[3];
    return num;
}

热心网友 时间:2023-10-23 06:35

可以用排序的方法:

#include<stdio.h>
int jx(int *a);//降序排列 得最大值
int sx(int *a);//升序排列 得最小值
int main()
{
    int a[4],i,max,min;
    char c[5];
    printf("输入4位数字:");
    scanf("%s",c);
    for(i=0;i<4;i++)
        a[i]=c[i]-'0';
    max=jx(a);
    min=sx(a);
    printf("四位数%s组成的最大数字%d与最小数字%d的差为:%d",c,max,min,max-min);
    return 0;
}
int jx(int *a)//降序排列 得最大值
{
    int i,j,aSave,num=0;
    for(i=0;i<4;i++)
        for(j=i+1;j<4;j++)
        {
            if(a[i]<a[j])
            {
                aSave=a[i];
                a[i]=a[j];
                a[j]=aSave;
            }
        }
    num=a[0]*1000+a[1]*100+a[2]*10+a[3];
    return num;
}
int sx(int *a)//升序排列 得最小值
{
    int i,j,aSave,num=0;
    for(i=0;i<4;i++)
        for(j=i+1;j<4;j++)
        {
            if(a[i]>a[j])
            {
                aSave=a[i];
                a[i]=a[j];
                a[j]=aSave;
            }
        }
    num=a[0]*1000+a[1]*100+a[2]*10+a[3];
    return num;
}

热心网友 时间:2023-10-23 06:35

#include<stdio.h>

void main()
{
 int t,h[4],max=0,min=0,i=0;
 do{
 scanf("%d",&t);
 if(t<1000||t>9999)
  printf("输入的不是四位数,请重新输入:");
 }while(t<1000||t>9999);
 h[0]=t/1000;  //提取四位数
 h[1]=t%1000/100;
 h[2]=t%100/10;
 h[3]=t%10;
 max=h[0];
 min=h[0];
 for(i=1;i<4;i++)
 {
  if(h[i]<min) //求最小值
   min=h[i];
  if(h[i]>max) //求最大值
   max=h[i];
 }
 printf("%d\n",max-min);
}

 

热心网友 时间:2023-10-23 06:35

#include "stdio.h"
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[]){
int n,i,j;
char a[5];
printf("Please enter n(int 0<n<10000)...\nn=");
if(scanf("%d",&n)!=1 || n<1 || n>9999){
printf("Input error, exit...\n");
return 0;
}
itoa(n,a,10);
for(i=0;i<4;i++){
for(n=i,j=n+1;j<4;j++)
if(a[n]<a[j])
n=j;
if(n-i)
j=a[n],a[n]=a[i],a[i]=j;
}
i=atoi(a);
j=atoi(strrev(a));
printf("%d(max) - %d(min) = %d\n",i,j,i-j);
return 0;
}

热心网友 时间:2023-10-23 06:36

#include <stdio.h>
int main()

char num[4];
int i,j=0,a[10]={0},re[4]={0},max5=0,min5=0;
gets(num);
for (i=0;i<4;i++)
{
a[num[i]-'0']++;
}
for (i=0;i<10;i++)
{
while (a[i]!=0)
{
re[j++] = i;
a[i]--;
}
}
max5 = (re[3]*1000) + (re[2]*100) + (re[1]*10) +re[0] ;
min5 = (re[0]*1000) + (re[1]*100) + (re[2]*10) +re[3];
printf("MAX[%d]-MIN[%d] = [%d]\n",max5,min5,max5-min5);
}
1000
MAX[1000]-MIN[1] = [999]
Press any key to continue

1234
MAX[4321]-MIN[1234] = [3087]
Press any key to continue

热心网友 时间:2023-10-23 06:35

#include<stdio.h>

void main()
{
 int t,h[4],max=0,min=0,i=0;
 do{
 scanf("%d",&t);
 if(t<1000||t>9999)
  printf("输入的不是四位数,请重新输入:");
 }while(t<1000||t>9999);
 h[0]=t/1000;  //提取四位数
 h[1]=t%1000/100;
 h[2]=t%100/10;
 h[3]=t%10;
 max=h[0];
 min=h[0];
 for(i=1;i<4;i++)
 {
  if(h[i]<min) //求最小值
   min=h[i];
  if(h[i]>max) //求最大值
   max=h[i];
 }
 printf("%d\n",max-min);
}

 

热心网友 时间:2023-10-23 06:36

#include "stdio.h"
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[]){
int n,i,j;
char a[5];
printf("Please enter n(int 0<n<10000)...\nn=");
if(scanf("%d",&n)!=1 || n<1 || n>9999){
printf("Input error, exit...\n");
return 0;
}
itoa(n,a,10);
for(i=0;i<4;i++){
for(n=i,j=n+1;j<4;j++)
if(a[n]<a[j])
n=j;
if(n-i)
j=a[n],a[n]=a[i],a[i]=j;
}
i=atoi(a);
j=atoi(strrev(a));
printf("%d(max) - %d(min) = %d\n",i,j,i-j);
return 0;
}

热心网友 时间:2023-10-23 06:36

#include <stdio.h>
int main()

char num[4];
int i,j=0,a[10]={0},re[4]={0},max5=0,min5=0;
gets(num);
for (i=0;i<4;i++)
{
a[num[i]-'0']++;
}
for (i=0;i<10;i++)
{
while (a[i]!=0)
{
re[j++] = i;
a[i]--;
}
}
max5 = (re[3]*1000) + (re[2]*100) + (re[1]*10) +re[0] ;
min5 = (re[0]*1000) + (re[1]*100) + (re[2]*10) +re[3];
printf("MAX[%d]-MIN[%d] = [%d]\n",max5,min5,max5-min5);
}
1000
MAX[1000]-MIN[1] = [999]
Press any key to continue

1234
MAX[4321]-MIN[1234] = [3087]
Press any key to continue

热心网友 时间:2023-10-23 06:37

#include <stdio.h>

//小到大
void BubbleSort1(int* pData, int count)
{
int temp;
for (int i = 1; i < count; i++)
{
for (int j = count - 1; j >= i; j--)
{
if (pData[j] < pData[j - 1])
{
temp = pData[j - 1];
pData[j - 1] = pData[j];
pData[j] = temp;
}
}
}
}

//大到小
void BubbleSort2(int* pData, int count)
{
int temp;
for (int i = 1; i < count; i++)
{
for (int j = count - 1; j >= i; j--)
{
if (pData[j] > pData[j - 1])
{
temp = pData[j - 1];
pData[j - 1] = pData[j];
pData[j] = temp;
}
}
}
}

int main()
{
int data[4];
for (int i = 0; i < 4; i++)
{
scanf_s("%d", data + i);
}
BubbleSort1(data, 4);
int minNum = data[0] * 1000 + data[1] * 100 + data[2] * 10 + data[3];
BubbleSort2(data, 4);
int maxNum = data[0] * 1000 + data[1] * 100 + data[2] * 10 + data[3];
printf("maxNum=%d minNum=%d maxNum-minNum=%d\n", maxNum, minNum, maxNum - minNum);
return 0;
}

热心网友 时间:2023-10-23 06:35

可以用排序的方法:

#include<stdio.h>
int jx(int *a);//降序排列 得最大值
int sx(int *a);//升序排列 得最小值
int main()
{
    int a[4],i,max,min;
    char c[5];
    printf("输入4位数字:");
    scanf("%s",c);
    for(i=0;i<4;i++)
        a[i]=c[i]-'0';
    max=jx(a);
    min=sx(a);
    printf("四位数%s组成的最大数字%d与最小数字%d的差为:%d",c,max,min,max-min);
    return 0;
}
int jx(int *a)//降序排列 得最大值
{
    int i,j,aSave,num=0;
    for(i=0;i<4;i++)
        for(j=i+1;j<4;j++)
        {
            if(a[i]<a[j])
            {
                aSave=a[i];
                a[i]=a[j];
                a[j]=aSave;
            }
        }
    num=a[0]*1000+a[1]*100+a[2]*10+a[3];
    return num;
}
int sx(int *a)//升序排列 得最小值
{
    int i,j,aSave,num=0;
    for(i=0;i<4;i++)
        for(j=i+1;j<4;j++)
        {
            if(a[i]>a[j])
            {
                aSave=a[i];
                a[i]=a[j];
                a[j]=aSave;
            }
        }
    num=a[0]*1000+a[1]*100+a[2]*10+a[3];
    return num;
}

热心网友 时间:2023-10-23 06:35

#include<stdio.h>

void main()
{
 int t,h[4],max=0,min=0,i=0;
 do{
 scanf("%d",&t);
 if(t<1000||t>9999)
  printf("输入的不是四位数,请重新输入:");
 }while(t<1000||t>9999);
 h[0]=t/1000;  //提取四位数
 h[1]=t%1000/100;
 h[2]=t%100/10;
 h[3]=t%10;
 max=h[0];
 min=h[0];
 for(i=1;i<4;i++)
 {
  if(h[i]<min) //求最小值
   min=h[i];
  if(h[i]>max) //求最大值
   max=h[i];
 }
 printf("%d\n",max-min);
}

 

热心网友 时间:2023-10-23 06:36

#include "stdio.h"
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[]){
int n,i,j;
char a[5];
printf("Please enter n(int 0<n<10000)...\nn=");
if(scanf("%d",&n)!=1 || n<1 || n>9999){
printf("Input error, exit...\n");
return 0;
}
itoa(n,a,10);
for(i=0;i<4;i++){
for(n=i,j=n+1;j<4;j++)
if(a[n]<a[j])
n=j;
if(n-i)
j=a[n],a[n]=a[i],a[i]=j;
}
i=atoi(a);
j=atoi(strrev(a));
printf("%d(max) - %d(min) = %d\n",i,j,i-j);
return 0;
}

热心网友 时间:2023-10-23 06:36

#include <stdio.h>
int main()

char num[4];
int i,j=0,a[10]={0},re[4]={0},max5=0,min5=0;
gets(num);
for (i=0;i<4;i++)
{
a[num[i]-'0']++;
}
for (i=0;i<10;i++)
{
while (a[i]!=0)
{
re[j++] = i;
a[i]--;
}
}
max5 = (re[3]*1000) + (re[2]*100) + (re[1]*10) +re[0] ;
min5 = (re[0]*1000) + (re[1]*100) + (re[2]*10) +re[3];
printf("MAX[%d]-MIN[%d] = [%d]\n",max5,min5,max5-min5);
}
1000
MAX[1000]-MIN[1] = [999]
Press any key to continue

1234
MAX[4321]-MIN[1234] = [3087]
Press any key to continue

热心网友 时间:2023-10-23 06:37

#include <stdio.h>

//小到大
void BubbleSort1(int* pData, int count)
{
int temp;
for (int i = 1; i < count; i++)
{
for (int j = count - 1; j >= i; j--)
{
if (pData[j] < pData[j - 1])
{
temp = pData[j - 1];
pData[j - 1] = pData[j];
pData[j] = temp;
}
}
}
}

//大到小
void BubbleSort2(int* pData, int count)
{
int temp;
for (int i = 1; i < count; i++)
{
for (int j = count - 1; j >= i; j--)
{
if (pData[j] > pData[j - 1])
{
temp = pData[j - 1];
pData[j - 1] = pData[j];
pData[j] = temp;
}
}
}
}

int main()
{
int data[4];
for (int i = 0; i < 4; i++)
{
scanf_s("%d", data + i);
}
BubbleSort1(data, 4);
int minNum = data[0] * 1000 + data[1] * 100 + data[2] * 10 + data[3];
BubbleSort2(data, 4);
int maxNum = data[0] * 1000 + data[1] * 100 + data[2] * 10 + data[3];
printf("maxNum=%d minNum=%d maxNum-minNum=%d\n", maxNum, minNum, maxNum - minNum);
return 0;
}

热心网友 时间:2023-10-23 06:37

#include <stdio.h>

//小到大
void BubbleSort1(int* pData, int count)
{
int temp;
for (int i = 1; i < count; i++)
{
for (int j = count - 1; j >= i; j--)
{
if (pData[j] < pData[j - 1])
{
temp = pData[j - 1];
pData[j - 1] = pData[j];
pData[j] = temp;
}
}
}
}

//大到小
void BubbleSort2(int* pData, int count)
{
int temp;
for (int i = 1; i < count; i++)
{
for (int j = count - 1; j >= i; j--)
{
if (pData[j] > pData[j - 1])
{
temp = pData[j - 1];
pData[j - 1] = pData[j];
pData[j] = temp;
}
}
}
}

int main()
{
int data[4];
for (int i = 0; i < 4; i++)
{
scanf_s("%d", data + i);
}
BubbleSort1(data, 4);
int minNum = data[0] * 1000 + data[1] * 100 + data[2] * 10 + data[3];
BubbleSort2(data, 4);
int maxNum = data[0] * 1000 + data[1] * 100 + data[2] * 10 + data[3];
printf("maxNum=%d minNum=%d maxNum-minNum=%d\n", maxNum, minNum, maxNum - minNum);
return 0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
郎酒怎么分辨真假 郎酒买到假的怎么赔偿 如何除掉衣服上的超能胶迹 有什么方法洗掉"502超能胶水"??? 我想买块两三千元的玉,但又不知是否真假.不知玉器鉴别是怎样鉴的? 申请留学时间流程 95595光大银行,光大乐迷联名信用卡金卡额度多少 光大乐视卡是什么信用卡? 乐迷信用卡普卡额度大概是多少? ...sport的英语小作文,主题“打乒乓球”。初中水平 ps怎么画方框(ps怎么画方框线条) 羽毛球比赛详细规则是什么?有没有PPT? 用c语言编程?(输入一个四位数,求出它的个位、十位、百位、千位) 羽毛球规则羽毛球课程教学PPT模板 c语言 读取四位数字 羽毛球教学入门基本手法 中筒袜如何搭配才不会出错? 如何学羽毛球 打羽毛球的基本动作要领? 红色乐福鞋搭配什么颜色袜子 打羽毛球的基本动作要领有哪些? 黑色高简袜子搭配怎样的鞋子才最好?你知道吗? 羽毛球挑球的动作要领 米色乐福鞋搭配什么颜色袜子 初学羽毛球教学步骤及各动作要领是什么? 羽毛球教学入门基本手法是什么? 乐福鞋搭配裙装,都有哪些搭配技巧? 随脚轻便的乐福鞋,它有哪些搭配技巧? 羽毛球PPT教学 半长袜子怎么搭配 乐福鞋搭配袜子 这几种款式值得选择 羽毛球的技术要领 c语言 任意一个四位数,求各个位置上的数字并输出 研究性学习的 如何提高羽毛球战术水平 ppT C语言 只取4位有效数字 C语言程序:写一个函数,输入一个4位数字,要求输出这4个数字字符,每两个数字字符间 通俗易懂的羽毛球步法教学,来看看林丹怎么做的 c语言中,提示输入一个4位数的整数,然后把每一位相加? 羽毛球课程主要采取哪些教学方法 请问如何用C语言产生一个四位无重复数字的四位数? c语言取前4位数字 C语言,程序自动吧4位数字分别为:降序/升序. 用C语言程序编写“输入一个四位整数(如1234),使其倒序输出(如4321),并求其各位之和。” C语言、输入四位数、倒序输出。 C语言中的ascII码表怎么看,高四位,低四位又是什么呢? 使用c语言为4个数字abcd进行排序 用C语言如何将从键盘输入四位数,分解成4个数字 C语言编程 将四位数字分为一组进行加密,其中第一位和第三数字交换,第二位和第四位数字交换 用c语言编写 输入一个4位正整数,求各位数字的立方和 c语言怎么限定输出整数占四位 c语言产生4位随机数