C语言、输入四位数、倒序输出。

作者&投稿:都种 (若有异议请与网页底部的电邮联系)
用C语言程序编写:输入一个四位整数(如1234),使其倒序输出(如4321),并求其各位之和。~

#include "stdio.h"
int main ()
{
int x,y; //x是原数字,y是倒序后的数字
printf("请输入原数字:");
scanf("%d",&x) ;
if(x>9999) printf("输入数字不能超过9999");
else
{
for(y=0;x!=0;x=x/10 )
y=y*10+x%10;

}
printf("倒序后的数字是:%d",y);
system("pause");
}

scanf函数实际上是有问题的,%d的话会取到输进去的四位整数的值给了a,其他几个数并没有被赋值。要不这里你就用%c取字符,不然的话就用楼上讲的方法。其实只需要用字符取数,然后控制字符输出顺序来输出时最简单的了,如果有需要再转换成数字就行了

这道题需要用到整数的分解,源代码如下:

#include <stdio.h>
main()
{
int num,result,a,b,c,d;
printf("请输入要分解的四位正整数:
");
scanf("%d",&num);
a=num%10;
c=num/100%10; 
b=num/10%10; 
d=num/1000 ; 
result=a*1000+b*100+c*10+d; 
printf("%d的逆序数为%d
",num,result);
}

运行结果如下:

扩展资料

我们可以通过十进制的取整取余特点来分别取到个位、十位、百位的数字:

百位:a/100; 对a 进行除以100 那么可以取到百位,

个位:a%10;对a 进行10 的取余那么一定会取到最后一位(即个位),

十位: a/10%10;最最复杂的就是取十位 的数字 其实由取一头(百位)一尾(十位)可以知道 我们可以将三位数变成两位数,然后对两位数取余就可以取到十位的数字。



#include <stdio.h>
main()
{
int Data,NewData,a,b,c,d;
printf("输入一个四位数:");
scanf("%d",&Data);
a=Data%10; /* 原数的个位 */
c=Data/100%10; /* 原数的百位 */
b=Data/10%10; /* 原数的十位 */
d=Data/1000 ; /* 原数的万位 */
NewData=a*1000+b*100+c*10+d; /* 组成新的数 */
printf("%d的逆序数为%d\n",Data,NewData);
}

如果满意、、请好评。。谢谢。


c语言怎么输出四位数。急用
include<stdio.h>void f(int n){ if(n>0){ f(n\/10); printf("%d -->",n%10); }}int main(){ int n; scanf("%d",&n); f(n); return 0;}

c语言,输入一个四位数,求各位数之和;
我只会c++ 不过算法都一样,你定义一个变量 对他进行输入,然后逐个取 余数 就把每一位数字拿到,最后求和

输入一个四位整数,如果是偶数求各位数字之和,如果是奇数求各位数字之积...
include<stdio.h> include<math.h> void main(){ int num;int qian,bai,shi,ge;printf("请输入一个四位数:\\n");scanf("%d",&num);qian=num\/1000;bai=num%1000\/100;shi=num%100\/10;ge=num%10;if(num%2==0){ printf("此数是偶数,各位数之和为:");printf("%d\\n",qian+bai+shi...

任意输入4个整数,输出四位数
任意输入4个整数,从大到小排列输出。c语言程序写法:main(){int a,b,c,d,m;scanf("%d %d %d %d",&a,&b,&c,&d);if(b>a){m=a;a=b;b=m;} if(d>c){m=c;c=d;d=m;} if(c>a){m=a;a=c;c=m;} if(c>b);{m=b;b=c;c=m;}printf("\\n%d %d %d %d\\n",a,b...

输入一个四位正整数,使用字符串切片方法,计算出这个数的个位 十位 百...
include int main(){ char s[5],s1[9]="千百十个";int i;printf("输入一个四位数:");scanf("%s",s);for(i=3;i>-1;i--)printf("%c%c位数:%c\\n",s1[i+i],s1[i+i+1],s[i]);return 0;} 例如:int i=2123 int one,two,three,four one=i%10;\/\/个位 two=(i\/10)%...

输入一个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位数,求该数个位,十位,百位,千位上的数的和
include <stdio.h>void main(){int n,s=0;scanf("%d",&n);if(n<1000||n>9999)printf("Input error!");\/\/如果输入不是四位数,给出错误提示else{while(n){s+=n%10;n\/=10;}printf("%d",s);}}\/\/运行示例:

c语言输入一个2345到4567之间的四位数, 判断换是否是荷花数( 写出荷花...
如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。(当n=3时,又称水仙花数,特指一种三位数,其各个数之立方和等于该数。)include<stdio.h> int main(){ int i,t,k,a[4];printf("There are follwing armstrong number smaller between 2345 to 4567:\\n");for(i=...

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

编程题:输入任意一个4位数整数,将该数反序输出。求解
c语言 include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]) { int a,s,d,f,g,h,j,k,l; printf("请输入四位整数"); scanf("%d",&a); s=a\/1000; d=a%1000; f=d\/100; g=d%100; h=g\/10; j=g%10; k=j\/1; printf("颠倒后的数字为%d%d%d",k,...

深圳市13016289463: 在C语言中“输入四个数字,将其颠倒顺序输出”.例如,输入:1,2,4,3, 输出:3,4,2,1 -
童潘雪山: 已经编译通过~ #include<stdio.h> void main() { int i,temp; int a[4]; for(i=0;i<4;i++) { scanf("%d",&a[i]); } for(i=0;i<2;i++) { temp=a[i]; a[i]=a[3-i]; a[3-i]=temp; } for(i=0;i<4;i++) { printf("%d",a[i]); } } 采纳哦

深圳市13016289463: 将一个四位数的数字顺序颠倒过来的c语言程序 -
童潘雪山: #include <stdio.h> #include <stdlib.h> int main() {char a[4];int i;for(i=0; i<4; i++){scanf("%c",&a[i]);}char temp;for(i=0; i<2; i++){temp = a[i];a[i] = a[3-i];a[3-i] = temp;}for(i=0; i<4; i++){printf("%c",a[i]);}printf("\n");return 0; }

深圳市13016289463: 用C语言程序编写:输入一个四位整数(如1234),使其倒序输出(如4321),并求其各位之和. -
童潘雪山: #include int main() {int n,s=0;scanf("%d",&n);while(n>0){printf("%d",n%10);s+=n%10;n/=10;}printf("\n各位之和=%d\n",s);return 0; }

深圳市13016289463: C语言初学,四位数字倒序输出,请大师看看我这哪错了? -
童潘雪山: 倒数第三行 d=num%10; 倒数第一行 printf("%d\n",num2); 望采纳

深圳市13016289463: 编写一个C程序,将用户输入的4位数数字倒序输出到屏幕上显示. -
童潘雪山: #include <stdio.h> void main() { int i,m,n,a[4]; printf("please input the number n:\n"); scanf("%d",&n); a[0]=n/1000; a[1]=n%1000/100; a[2]=n%1000%100/10; a[3]=n%1000%1000%10; for(i=3;i>=0;i--) printf("%d,",a[i]); printf("\n"); m=1000*a[3]+100*a[2]+10*a[1]+a[0]; printf("%d\n",m); }

深圳市13016289463: C语言:输出4个数的反序 用函数调用 -
童潘雪山: t=b[i]; b[i]=b[n-i]; b[n-i]=t; -------------- 应该是b[n-i-1],你的越界了,假想i=0,b[n-i]=b[4],显然不对

深圳市13016289463: C语言编程;任意输入一个不含0的四位数,逆序输出这个四位数,运用算术运算符和表达式解决 -
童潘雪山: 源程序如下: #include <stdio.h> void main() { int num; printf("please a 四wei shu:"); scanf("%d",&num); while (num>0) /*num大于0就不停循环*/ { printf("%d",num%10); /*输出个位*/ num/=10; /*除以10*/ } } VC++6.0测试通过 输入:1234 输出:4321

深圳市13016289463: 编写程序实现如下功能:输入一个四位整数,找出每位上的数字,并反序输出这个数 -
童潘雪山: function rl(a) {var b=[];for(var i=0;i<length(a);i++){b.push(a(i));}return b; }

深圳市13016289463: C语言输出所有4位逆序素数,就是把一个四位素数四位倒过来还是素数 -
童潘雪山: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37#include<stdio.h> //求四位数的倒序 如 :1234 返回:4321 intgetNum(intyourNum){inttagNum = 0;while(yourNum>0){tagNum = tagNum*...

深圳市13016289463: 输入四个数字,要求输出时按倒序输出,例如写完程序,执行时,输入了1234按回车后输出了4321,用c -
童潘雪山: #include<stdio.h> void main() {int i = 0; char a[80]; //声明数组gets(a); //输入for( ; a[i] != '\0'; i++); //分析有效长度for( ; i > 0; i--) printf("%c", a[i - 1]); //反序输出 }

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