输入一个四位正整数,编写程序将其逆序输出
#include
int main()
{
int num;
scanf("%d",&num);
int a,i;
for(i = 0;num > 0;i++)
{
a = num % 10;
printf("%d",a);
num = num/10;
}
return 0;
}
分析:首先,输入的是一个整数,因此最前面一位数不是零,所以我们可以用除10取余法写。
a = num % 10
就是输出数字的最后一位
然后除10剔除数字最后一位,这样数字倒数第二位就会输出。以此类推,就能逆序输出数字。
拓展资料
for循环是编程语言中一种开界的循环语句,而循环语句由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。
C语言中的for循环如下
1.语句最简形式为:
for( ; ; )
2.一般形式为:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
算法:递归函数传入正整数,先输出最末尾数字,再除以10用递归函数继续迭代,直到该正整数为0时终止递归。
例程:
#include
void rev(int n){
if(n > 0) { //判断该数是否大于0
printf("%d", n%10); //输出末位数值
rev(n/10); //递归迭代整除10后的剩余值
}
}
int main(){
rev(1234); //样例输入1234
return 0;
}//样例输出 4321
Private Sub Form_Click()
Dim a As Integer
Dim b(3) As Integer
a = Val(InputBox("输入一个4位数"))
If a > 1000 And a < 10000 Then
For i = 3 To 0 Step -1
b(i) = a / 10 ^ i
a = a - b(i) * 10 ^ i
Next
Else
MsgBox "请输入一个四位数"
Exit Sub
End If
For i = 0 To 3
Print Format(b(i));
Next
End Sub
第二个
Private Sub Form_Click()
Dim a, b, c, d As Integer
c = Val(InputBox("开始数")) '开始数
d = Val(InputBox("结束数")) '结束数
If c > d Then t = c: c = d: d = t
For a = c To d
Sum = 0
For b = 1 To a / 2
If a Mod b = 0 Then Sum = Sum + b
Next b
If Sum = a Then Print Sum
Next a
End Sub
1-1000么就这样
第二个
Private Sub Form_Click()
For a = 1 To 1000
Sum = 0
For b = 1 To a / 2
If a Mod b = 0 Then Sum = Sum + b
Next b
If Sum = a Then Print Sum
Next a
End Sub
输入一个四位正整数,编写程序将其逆序输出
第一个 Private Sub Form_Click()Dim a As Integer Dim b(3) As Integer a = Val(InputBox("输入一个4位数"))If a > 1000 And a < 10000 Then For i = 3 To 0 Step -1 b(i) = a \/ 10 ^ i a = a - b(i) * 10 ^ i Next Else MsgBox "请输入一个四位数"Exit Sub ...
输入一个四位正整数,交换前两位和后两位组成一个数后输出,用VB语言
Private Sub Command1_Click()d = Val(Text1)Print 100 * (d Mod 100) + Int(d \/ 100)End Sub
输入一个四位正整数求其各位数字之和。编程
include <stdio.h> int main(int argc, char* argv[]){ int in,out=0;int tmp,i,bit=4;scanf("%d",&in);for(i=0;i<bit;i++){ tmp=in\/10;out+=in-tmp*10;in\/=10;} printf("%d\\n",out);return 0;}
对"输入一个四位的正整数,输出其中包含数字2的个数"进行c语言编程_百度...
int i,n=0,number=2034;for(i=0;i<4;i++){ if(number%10==2)n++;number=number\/10;} n即为个数,number为输入的四位数
C语言 输入四位正整数N
程序如下:include <stdio.h> int main(){ int m=0,n,k,a,i;scanf("%d",&n);a=n;for(i=0;i<4;i++)\/\/这里求反序 { m*=10;m+=a%10;a\/=10;} k=m\/n; \/\/取倍数 if(m%n==0) \/\/判断是否是整数倍 printf("%d %d\\n",k,m);else printf("No output\\n");return 0...
从键盘输入一个四位的正整数X,c语言编程计算X的每一个数字相加之和,怎...
include "stdio.h"\/\/包含头文件 main(){ int x,a,b,c,d;\/\/声明四个变量用于存储四位数及其各位的数 printf("请输入一个四位整数\\n");\/\/输出提示语句 scanf("%d",&x);\/\/从屏幕上获取这个四位数 a=x%10;\/\/获取个位 b=(x%100)\/10;\/\/获取十位 c=(x%1000)\/100;\/\/获取百位 d=x...
输入一个不多于四位的正整数,求出它是几位数,逆序打印出各位数字_百 ...
printf("请输入一个小10000的正整数x:\\n");scanf("%d",&x);if(x>999) w=4;else if(x>99) w=3;else if(x>9) w=2;else w=1;th=x\/1000;hu=(x-th*1000)\/100;te=(x-(th*1000+hu*100))\/10;ge=x-(th*1000+hu*100+te*10);printf("该数为%d位数。\\n",w);printf("...
从键盘上输入任意一个四位正整数,编写程序分别输出该数的个位、十位...
echo off :begin cls set \/p n=请输入一个四位正整数:if not defined n goto begin echo %n%的个位数是: %n:~3,1 echo %n%的十位数是: %n:~2,1 echo %n%的百位数是: %n:~1,1 echo %n%的千位数是: %n:~0,1 pause>nul ...
一个四位正整数n满足百位上的数字比千位上的数字小五 且个位上的数字...
例如:四位正整数9764,因为9-7=2,6-4=2且7≠4,所以9764是“比翼双飞数”,此时,F(A)=96+74=170,f(4)=97-64=33。判断:8631,5322是否是“比翼双飞数”,并说明理由;若“比翼双飞数”.4能被2整除,且满足F(A)-f(A)能被4整除,求F(A)的值。二、分析 1、根据比翼双飞数的定义...
JAVA 模拟抽奖,输入4位数,如果这个四位数的百位数能够被3整除,就显 ...
按照你的要求编写的Java模拟抽奖程序如下 import java.util.Scanner;public class F { public static void main(String[] args) { System.out.print("请输入一个四位正整数:"); Scanner sc=new Scanner(System.in); int n=sc.nextInt(); if(n\/100%10%3==0){ System.out.println...
汗舍盐酸: 第一个 Private Sub Form_Click() Dim a As Integer Dim b(3) As Integer a = Val(InputBox("输入一个4位数")) If a > 1000 And a < 10000 Then For i = 3 To 0 Step -1 b(i) = a / 10 ^ i a = a - b(i) * 10 ^ i Next Else MsgBox "请输入一个四位数" Exit ...
新野县19427398802: 【编程】从键盘输入一个四位正整数.首先分离出该正整数中的每一位数字,并按逆序显示输出各位数字#include #include void main (){\x09int a,b,c,d,x;\x09... - ?
汗舍盐酸:[答案] 两个地方错了.第一,scanf()读入的应为变量的地址,所以scanf("&d",x);应该是scanf("%d",&x) //要用&x,否则程序出错第二,scanf("%d{...
新野县19427398802: 输入一个四位数,把该数倒过来输出.(vc编程) - ?
汗舍盐酸: #includevoid main(){ int num,a,b,c,d,num2; printf("请输入一个四位数的正整数:"); scanf("%d",&num); a=num/1000;b=(num-a*1000)/100;c=(num-a*1000-b*100)/10;d=num-a*1000-b*100-c*10;printf("这个数到过来为:%d%d%d%d\n",d,c,b,a);num2=d*1000+c*100+b*10+a;printf("这个数倒过来为:%d\n",num2);}
新野县19427398802: 用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; }
新野县19427398802: C语言编写程序将输入的一个正整数以相反的顺序输出例如输入1234输出4321,请附每行讲解 - ?
汗舍盐酸: #include<stdio.h> int main() { int i,j,a[10],b; scanf("%d",&b); for(i=0;b!=0;i++) { a[i]=b%10; b=b/10; } //将数字的每一位存到数组里 for(j=0;j<i;j++) printf("%d",a[j]); //将数组里的数逆序输出 return 0; }
新野县19427398802: C语言程序设计,初级的~设计算法输入一个四位正整数,将它们倒排,例如输入1234,输出4321 - ?
汗舍盐酸: “希望写的详细些,我就可以直接打上去了,连空格啊,标点啊也写一下.”....学习不是这样的....给个思路就行了.用除法求出千位、求余再除法求出百位、再除法+求余求出十位,最后用求余得到个位.然后按照个位十位百位千位一个一个输出即可.
新野县19427398802: 输入一个数4位正整数,取出其中的各位数字按逆序输出. - ?
汗舍盐酸: //方法有很多我列出自己尝试的一种 void intergerReverse(int number) { while(number != 0) { //只要传进来的值不是0一直循环int idex = number % 10; //得到最后一位的值number = number / 10; //每拿到一个数之后让其本值减少一位//System.out.print(idex);cout<<idex<<" "; }} //关键点在于如何把这个四位数依次得到每一位上面的数值
新野县19427398802: C语言整数的反序数程序代码 - ?
汗舍盐酸: #include"stdio.h" void main() {int a[4],N,i,k,M; xy:printf("请输入您要处理的四位数的四位:\n");//以空格间隔开!for(i=0;i<4;i++)scanf("%d",&a[i]);//千位数为0的没有反序数N=1000*a[0]+100*a[1]+10*a[2]+a[3];M=1000*a[3]+100*...
新野县19427398802: C语言程序设计:编写程序将输入的一个正整数以相反的顺序输出.例如输入1234,输出4321 - ?
汗舍盐酸: #include <stdio.h>int main(int argc,char *argv[]){ int a; int i,num; printf("请输入数字:"); scanf("%d",&a);printf("\n输出结果为:"); for(;;) { num=a%10; a=a/10; printf("%d",num); if (a<10) { printf("%d",a);break; } } printf("\n");}
新野县19427398802: 用C语言编程中输入一个正整数,把数字前后颠倒并输入颠倒后的结果,怎样操作? - ?
汗舍盐酸: 用字符串处理很简单 #include <stdio.h> #include <string.h> void main () {int n,i;char s[20];scanf("%d", &n);sprintf(s,"%d", n);printf("%d\n",strlen(s));for(i=strlen(s)-1;i>=0;i--){printf("%c",s[i]);}printf("\n"); }如果要用循环也可以...