输入一个四位数,要求将它的千位、百位、十位、个位上的数字按由小到大排列,输出一个新数。

作者&投稿:夹池 (若有异议请与网页底部的电邮联系)
输入一个四位数,将它的千位,百位,十位,个位按由小到大排列,输出一个新数~

数:2915 变的:1259

C代码:---------------------
int a;
scanf("%d",&a);
printf("个位:%d,十位:%d,百位:%d,千位:%d",a%10,a%100/10,a%1000/100,a/1000)
--------------------------------
VC++中代码如下:
#include "stdafx.h"
#include

int main(int argc, char* argv[])
{
int a;
scanf("%d",&a);
printf("个位:%d,十位:%d,百位:%d,千位:%d",a%10,a%100/10,a%1000/100,a/1000);
system("pause");
return 0;
}

C语言有以下几种取整方法:
1、直接赋值给整数变量。如:
int i = 2.5; 或 i = (int) 2.5;
这种方法采用的是舍去小数部分,可以用于你的问题。
2、C/C++中的整数除法运算符"/"本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,但是整数除法对负数的取整结果和使用的C编译器有关。
3、使用floor函数。floor(x)返回的是x的整数部分。如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函数。ceil(x)返回的是不大于x的最小整数。如:
ceil(2.5) = 2
ceil(-2.5) = -2
floor和ceil对于正数没有区别,但是对于负数结果不同。floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。

#include <stdio.h>
#define Max_number 4 //设置最大位数
void main()
{
int number, temp, a[Max_number], wei = 0, i;
printf("请输入一个不多于4位的数,并以回车结束:\n");
scanf("%d", &number);
temp = number;
while (temp)
{
a[wei] = temp % 10;
temp /= 10;
wei++;
}
printf("它是 %d 位数\n", wei);
printf("它每一位分别为:\n");
for (i=wei-1;i>=0;i--)
{
printf("%d\n",a[i]);
}
printf("原数为: %d\n: ", number);
for( i=1;i<=3;i++)
{
for(int j=0;j<=3-i;j++)
{
if (a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for (i=0;i<4;i++)
{
printf("%d",a[i]);
}
printf("\n");
}

#include"stdio.h"
void main()
{int a[4],p,temp,i,j;
scanf("%d",&p);
if(p<1000&&p>9999)
printf("Error\n");
else
{
a[0]=p/1000;
a[1]=(p/100)%10;
a[2]=(p/10)%10;
a[3]=p%10;
for(j=0;j<=3;j++)
for(i=0;i<=4-j;i++)
if(a[i]>a[i+1])
{temp=a[i];a[i]=a[i+1];a[i+1]=temp;}
p=a[0]*1000+a[1]*100+a[2]*10+a[3];
printf("the answer is:%d",p);
}
}

#include <stdio.h>
main()
{
int a,num{3],i,j,k; /*a用来输入数,num用来保存输入的数,i,j用来循环,k用来比较大小*/
printf("please input a num(1000-9999)");
scanf("%d",&a);
for(i=0;i<4;i++)
{
num[i]=a%10;
a=a/10;

}
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(num[j]<num[i])
{ k=num[i];
num[i]=num[j];
num[j]=k;
}
for(i=0;i<4i++)
printf("%d",num[i]);
}

#incldue<stdio.h>
void main()
{int num,a[4],i,temp;
printf("请输入 一个四位数:");
scanf("%d",&num);
for(i=0;i<4;i++)
{num=num/10;
a[i]=num%10;
}
for(i=0;i<3;i++)
{if(a[i]>a[i+1])
{temp=a[i];
a[i]=a[i+1];
a[i+1]=temp
}
}
printf("重新排列的数为:");
for(i=0;i<4;i++)
printf("%d",a[i]);
printf("\n");
}

main()
{
int num,a,b,c,d,newnum;
printf("input a number between 1000 to 9999:");
scanf("%d",&num);
a=num/1000;
b=(num%1000)/100;
c=(num%100)/10;
d=num%10;

int array[4]={a,b,c,d},temp;
for(int i=4;i>=0;i--)
for(int j=0;j<i;j++)
if(array[j]>array[j+1]){temp=array[j+1];array[j]=array[j+1];array[j+1]=temp;}

newnum=1000*a[0]+100*a[1]+10*a[2]+a[3];
printf("the new number is:%d",newnum);
}


输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一个空格...
include void output( int n ) \/\/递归,正序输出每一位数{if ( n < 10 )printf("%d", n );else{output( n\/10 );printf(" %d", n%10 );}}int main(){int i;printf("input n: ");scanf("%d", &i );output( i );printf("\\n");return 0;} ...

写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字之间...
include<stdio.h> include<string.h> int main(){ void num_space(char a[],char b[]);char a[100],b[100]="";printf("请输入任意四位数:");gets(a);num_space(a,b);printf("%s\\n",b);return 0;} void num_space(char a[100],char b[100]){ int i,j=0;for(i=0;a[...

编写一函数,输入一个4位数字,要求输出4个数字字符,但每两个数字间有一...
include <stdio.h> void Seperate(int n){int temp=1000;while(temp>=1){printf("%d ",n\/temp);n=n%temp;temp\/=10;}}main(){int n;printf("输入一个四位数字:");scanf("%d",&n);if (n<1000&&n>9999)printf("不是四位数!");Seperate(n);} ...

编写程序,输入一个四位数的整形数据,要求将个位和百位交换,十位和千...
include <stdio.h>int main (){int a,b; scanf("%d",&a); b=a\/100+a%100*100; printf("%d\\n",b); return 0;}

写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空...
int i,j;for(i=0,j=0;a[i]!='\\0';i++){ b[++j]=a[i];b[++j]=' ';} b[j]='\\0';} main(){ char c1[80],c2[80];gets(c1);f(c1,c2);puts(c2);} 你的错误是在这里 for(i=2,j=0;a[i-2]!='\\0';i++); 后面多了一个分号,这里的算法我没有仔细斟酌...

写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空...
include < stdio.h > void main(){ int n, a, b, c, d;printf("请输入一个四位数:");scanf("%d", &n);a= n%10;\/\/个 b= n\/10%10;\/\/十 c= n\/100%10;\/\/百 d= n\/1000;\/\/千 printf("%d %d %d %d\\n", d, c, b, a);} ...

编程实现:输入一个四位数,并按其反序输出。例如输入4567,则输出7654...
参考代码如下:include<stdio.h> int main(){ int n,t;scanf("%d",&n);if(n<0){ n=-n;printf("-");} if(n==0){ printf("0");return 0;} while(n>0){ t=n%10;n=n\/10;printf("%d",t);} return 0;}

C语言函数问题请教,目的是输入一个4位数字,要求输出这4个数字,并且每...
n代表这个四位数)即可。如果用数组存放四位数的话,应有printf(“请输入一个四位数:”);for(i=0;i<4;i++)scanf("%d",a[i]);输出同样。我还是建议你用printf(“%d %d %d %d“,a[0],a[1],a[2],a[3]);因为对于%s控制格式只能用字符,遇到非法字符(包括空格,回车,...

高分求C语言全面基础题(选择\/填空\/补充语言\/编程题)。
输出 312 6、输入一个四位数要求按如下交换输出:例如 :输入 1234 输出 4321 7、输入一个四位数要求输入各位数字的和。例如: 输入 4567 输出 22 8、编一程序,键盘输入整数A,B的值,然后打印A除以B的商的整数部分及余数。9、输入一个时、分、秒,把它转换为一个秒数。例如 输入 2 3 4...

C语言中输入一个四位数,如3025,30+25=55,55的平方等于3025,要求输出...
include "stdio.h"int main(){ int x,y,i;for(i=1000;i<=9999;i++){ x=i\/100; \/*截取i的前两位数存于x*\/ y=i%100; \/*截取i的后两位存于y*\/ if(i==((x+y)*(x+y)))printf("%d\\n",i);} return 0;} 输出结果:2025 3025 9801 ...

京口区18615858997: 输入一个四位数,要求将它的千位、百位、十位、个位上的数字按由小到大排列,输出一个新数. -
樊功恩通: #include"stdio.h" void main() {int a[4],p,temp,i,j; scanf("%d",&p); if(p<1000&&p>9999) printf("Error\n"); else { a[0]=p/1000; a[1]=(p/100)%10; a[2]=(p/10)%10; a[3]=p%10; for(j=0;j<=3;j++) for(i=0;i<=4-j;i++) if(a[i]>a[i+1]) {temp=a[i];a[i]=a[i+1];...

京口区18615858997: C++任意输入一个四位数分别输出其千位百位十位个位上的值并输出它的平方根 -
樊功恩通:定义一个整型变量a来存储这个4位数,所以千位可以表示成:a/1000,百位:a/100%10,十位:a/10%10,个位:a%10,平方根用sqrt(a). 例如: //参考代码 #include #include using namespace std; int main() {int n,q,b,s,g;//定义...

京口区18615858997: 输入一个四位数,将它的千位,百位,十位,个位按由小到大排列,输出一个新数 -
樊功恩通: 数:2915 变的:1259

京口区18615858997: 使用java输入一个四位数的整数,要求编程将这个四位数中的个位,十位,百位,千位分别输出 -
樊功恩通: public static void main(String[] args) { int n=1234; int[] nums = {0,0,0,0} nums[0] = n / 1000; nums...

京口区18615858997: 输入一个4位数的正整数,用C#编写程序,输出这个数的千位、百位、十位和个位. -
樊功恩通: static void Main(string[] args) { Console.WriteLine("请输入一个4位的正整数:"); string input = Console.ReadLine(); while (input.Length != 4) { Console.WriteLine("请输入一个4位的正整数:"); input = Console.ReadLine(); } Console....

京口区18615858997: C语言中输入一个四位数,分别求出该数的千位数,百位数,十位数和个位数,并输出的程序是什么? -
樊功恩通: 首先把四位数转成字符串数组,再进行字符串数组循环,就可以输出各个位数上的数字了.

京口区18615858997: C++中输入一个四位数,用SWITCH编写,分别输出,千位,百位,十位,个位 -
樊功恩通: #include"iostream" using namespace std; void main() { int a; pn: cout<<"输入一个四位数:"; cin>>a; if(a>9999||a<1000) { cout<<"输入错误!请重新输入!"<<endl; goto pn; } switch(1){ case 1:cout<<"千位:"<<a/1000<<endl; case 2:cout<<"百位:"<<a/100%10<<endl; case 3:cout<<"十位:"<<a%100/10<<endl; case 4:cout<<"各位:"<<a%10<<endl; } }

京口区18615858997: 在C语言中,一个四位数要表示出他的百位数,如何表示? -
樊功恩通: 设该四位数是a,则其百位如下方式可以取出: (a-a/1000*1000)/100

京口区18615858997: 有一个四位数,把它的千位数字与百位数字对调,得到一个新的四位数,然后用大的数减小的数所得的差最小是 -
樊功恩通: 要想大的数减小的数所得的差最小就要使这个四位数的千位上的数与百位上的数的差最小,即相差1. 且对调后,大数的百位数要小于小数的百位数,如:2134,千位与百位对调后为1234,2134-1234=900. 即所得的差最小为900. 故答案为:900.

京口区18615858997: 在C语言环境下输入一个四位整数,求对应的数字并输出,最后千位和十位互换,百位 -
樊功恩通: #include<stdio.h> int change(int s) {int a, b, c, d, i;int ch[4];a=(int)(s/1000);b=(int)(s/100%10);c=(int)(s/10%100%10) ;d=(int)(s%1000%100%10);\*将输入的数的各位分开并分别赋给abcd*\ch[0]=c; ch[1]=d;ch[2]=a;ch[3]=b;\*将各位上的数的...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网