c++编程求输入一个正整数(任意位数),倒序输出! 编写一个程序,输入任意一个正整数,倒序输出他的每一位数字是多...

C\u8bed\u8a00\u7f16\u7a0b\uff0c\u4efb\u610f\u8f93\u5165\u4e00\u4e2a\u6b63\u6574\u6570\uff0c\u5012\u5e8f\u8f93\u51fa\u5404\u4f4d\u6570\u5b57\uff0c\u5e76\u5224\u65ad\u5176\u662f\u51e0\u4f4d\u6570\u3002

#include int main(int argc, char **argv){ char num[64]; scanf("%s",num); int length=0; while(num[length]!='\0') length++; printf("5498\u662f\u5012\u5e8f\u5404\u4f4d\u6570\u5b57\u662f\uff1a"); int counter=length-1; while(counter>=0) printf("%c,",num[counter--]); printf("\u5176\u662f%d\u4f4d\u6570\u3002",length); return 0;}

#include
int main()
{int n,x;
scanf("%d",&x);
for(n=0;x;x/=10,n++)
printf("%d ",x%10);
printf("\n\u5b83\u662f%d\u4f4d\u6570\n",n);
return 0;
}

【解题思路】
整数的逆序输出是很常见的题目,也比较简单。可以通过取余运算符(%)和除号(/)来完成,具体的思路如下:比如要对123逆序输出。
第一步是先对 123除以10取余数,这样就会得到3;
第二步是把123除以10取整,得到12,然后再把3*10+12%10,得到32;
第三步是把12除以10取整,得到1,然后再把32*10+1%10,得到321,
然后一直重复,直到原来的那个数为零。具体的代码如下:
  
【程序代码】
#include <iostream>                   //控制台操作头文件
  
int main()                            //主函数
{int A,B,C,i;                         //变量声明
 do{printf("请输入一个数字(0退出):"); //提示输入数字
    scanf("%d",&A);                   //从键盘输入数字赋值给A
    C=A;                              //让C等于A的值
    B=C%10;                           //让B等于C除以10取余数
    while(C=C/10) B=B*10+C%10;        //用循环让C实现倒序
    printf("%d倒序是%d

",A,B);     //显示倒序的结果
    }while(A);
 system("PAUSE");                     //屏幕暂停,以便看到显示结果
 return 0;                            //结束程序
}
  
【运行结果】
以上程序在DEV  C++中运行通过



第一种:

将第一种用for语句实现:

int  n;

printf("请输入一个 整数");

scanf("%d",&n);

for(n;n!=0;n/=10)

printf("%d",n%10);

printf("
");

第二种:

上面的方法存在多次调用printf函数的问题,而调用函数是需要额外的空间的时间的,这将会降低程序的运行速度。虽然在这里的调用次数并不多,但是这是应该考虑到的,

毕竟效率是评价程序的一个重要指标。

用一个变量来存储逆序后的数,只需调用一次printf函数。

int  n,m=0;//m为存储逆序整数的变量

printf("请输入一个 整数");

scanf("%d",&n);


while(n!=0) {
m=m*10+n%10;
n=n/10;
}
printf("%d
",m);



#include<iostream>
using namespace std;
long fun(long m)
{
int n = 0;
while(m > 0)
{
n = n * 10 + m % 10;
m /= 10;
}
return n;
}

int main()
{
long m;
printf("请输入一个正整数:");
scanf("%ld",&m);
printf("%ld\n",fun(m));
return 0;
}

用字符串。

#include<stdio.h>
#include<stdio.h>
main(){char s[500];
int i,L;
printf("input a positive integer data:\n");
scanf("%s",s);
L=strlen(s);
for (i=L-1;i>=0;i--) printf("%c",s[i]);
return 0;
}

#include<stdio.h>
main()\
{
int i,temp;
printf("输入一个整数\n");
scanf("%d",&i);
printf("逆序:");
while(i>0)
{
temp=i%10;
printf("%d",temp);
i=i/10;
}
printf("\n");
}

  • c++缂栫▼姹傝緭鍏ヤ竴涓鏁存暟(浠绘剰浣嶆暟),鍊掑簭杈撳嚭!
    绛旓細鍏蜂綋鐨勪唬鐮佸涓嬶細 銆愮▼搴忎唬鐮併#include <iostream> //鎺у埗鍙版搷浣滃ご鏂囦欢 int main() //涓诲嚱鏁皗int A,B,C,i; //鍙橀噺澹版槑 do{printf("璇杈撳叆涓涓鏁板瓧(0閫鍑):"); //鎻愮ず杈撳叆鏁板瓧 scanf("%d",&A); //浠庨敭鐩樿緭鍏ユ暟瀛楄祴鍊肩粰A C=A; //璁〤绛変簬A鐨勫 B=C%...
  • 濡備綍鐢C璇█杈撳叆姝f暣鏁?
    绛旓細int main(){ int x,sum=0,t;printf("璇杈撳叆涓涓鏁存暟锛");scanf("%d",&x);while(x!=0){ t=x%10;x=x/10;sum+=t;} printf("璇ユ暟鐨勫悇浣嶆暟瀛椾箣鍜:%d",sum);} C璇█鏄竴闂ㄩ氱敤璁$畻鏈缂栫▼璇█锛屽簲鐢ㄥ箍娉涖侰璇█鐨勮璁$洰鏍囨槸鎻愪緵涓绉嶈兘浠ョ畝鏄撶殑鏂瑰紡缂栬瘧銆佸鐞嗕綆绾у瓨鍌ㄥ櫒銆佷骇鐢熷皯閲忕殑...
  • c璇█缂栫▼浠庨敭鐩杈撳叆涓涓浠绘剰姝f暣鏁,姹傚叾鍚勪綅鏁板瓧绔嬫柟鍜屻
    绛旓細include<stdio.h> intmain(){ inta;scanf("%d",&a);intb[10]={0};intk=0;while(a){ b[k]=a%10;a=a/10;k++;} printf("%d\n",k);inti=0,sum=0;while(i<=k){ sum=sum+b[i]*b[i]*b[i];i++;} printf("%d\n",sum);} ...
  • C璇█缂栫▼棰:浠绘剰杈撳叆涓涓鏁存暟a,濡傛灉a>=10 骞朵笖 a<=20,鍒欒緭鍑鸿繖涓暣 ...
    绛旓細= EOF ) { if( a>0 && a<10 ){ printf("%d\n", a*10); }else if( a <= 20 ){ printf("%d\n", a); }else{ printf("%.3lf\n", double(a) / 10.0); } } return 0;}
  • C璇█ 缂栧啓涓涓▼搴,杈撳叆涓涓鏁存暟,姹傚嚭瀹冩槸鍑犱綅鏁般
    绛旓細/*鍔熻兘锛杈撳叆涓涓浠绘剰闀垮害鐨姝f暣鏁锛屾眰鍑哄畠鏄嚑浣嶆暟銆*/ include<stdio.h> int main(){ int number;int count = 0;//璁板綍涓暟 scanf("%d", &number);if (number == 0){ printf("number is %d\n",count+1);//0鏄竴浣嶆暟 }else { while (number != 0){ number = number / 10...
  • C璇█ 缂栧啓涓涓▼搴,杈撳叆涓涓鏁存暟,姹傚嚭瀹冩槸鍑犱綅鏁般
    绛旓細姹涓涓鏁存暟n鐨勪綅鏁板彲浠ュ厛瀹氫箟涓涓彉閲弉um锛屽苟鍒濆鍖栦负0锛屼緷娆℃妸璇ユ暣鏁皀闄や互10锛岀洿鍒板叾涓0涓烘锛屽苟涓旀瘡闄や竴娆10锛屽彉閲弉um鐨勪釜鏁板氨鑷姞1锛屾渶鍚巒um鐨勫煎氨鏄鏁存暟n鐨勪綅鏁般俰nclude <stdio.h> int main(){ int n,num=0;scanf("%d",&n);while(n){ num++;n/=10;} printf("%d\n",num)...
  • 鐢C璇█缂栧啓:浠庨敭鐩杈撳叆浠绘剰涓涓鏁存暟,姹傚叾鍚勪綅鏁板瓧绔嬫柟鍜
    绛旓細鏈汉涔熸槸瀛C璇█鐨勶紝浠ヤ笅鐨勭▼搴忔槸鎸夌収浣犵殑瑕佹眰缂栧啓鐨勶細#include <stdio.h> //姹傝緭鍏鏁板悇浣嶆暟鐨勭珛鏂瑰拰 void main(){ int x,sum=0,j;printf("璇杈撳叆涓涓鏁存暟锛");scanf("%d",&x); //杈撳叆涓涓暟 while(x!=0) //鍒ゆ柇X鏄惁涓洪浂 { j=x%10; //鍙栦釜浣嶆暟瀛 sum+=j*j*...
  • C璇█缂栫▼,浠绘剰杈撳叆涓涓浜斾綅姝f暣鏁,閫嗗簭杈撳嚭姣忎竴浣嶄笂鐨勬暟 濡傝緭鍏54321...
    绛旓細/(int) 缁撴灉涓篿nt 2: 寰呮墽琛宻er鍑芥暟鍚,杈撳嚭缁撴灉涓綅鏁 12345 % 10 = 5 3: 绗簩娆℃墽琛宻er鍑芥暟...绫绘瘮姝ラ1 4: 寰呴掑綊鎵цser鍑芥暟,绫绘瘮姝ラ2,杈撳嚭鍗佷綅涓暟 1234 % 10 = 4 5: 绫绘瘮姝ラ1 6: 绫绘瘮姝ラ2,杈撳嚭鐧句綅涓暟 123 % 10 = 3 7: 绫绘瘮姝ラ1 8: 绫绘瘮姝ラ2,杈撳嚭鍗冧綅 12 %...
  • 鐢c璇█缂栫▼杈撳叆涓涓浠绘剰鐨姝f暣鏁,杩欎釜姝f暣鏁拌姹傚皬浜20銆傝姹璁$畻鍑...
    绛旓細printf("杈撳叆浠绘剰灏忎簬20鐨姝f暣鏁:\n >>");scanf("%d",&i);while(i>=20||i<=0){ printf("Error!\n璇烽噸鏂拌緭鍏:\n >>");scanf("%d",&i);} n=i*100;printf("\n%d鑷%d涔嬮棿鐨勭礌鏁版湁:\n",i,n);for(;i<n;i++){ if(i==1)continue;flg=(int)sqrt(i);for(j=2;j<=...
  • 鐢C璇█缂栧啓绋嬪簭浠庨敭鐩杈撳叆涓涓鏁存暟鏁皀,杈撳嚭n!
    绛旓細缂栫▼瀹炵幇璁$畻n锛侊紝涔熷氨鏄痭*锛坣-1锛*锛坣-2锛*...*1锛屽彲浠ラ氳繃閫掑綊鍑芥暟鏉ュ疄鐜帮紝鍏蜂綋瀹炵幇鏂规硶锛歩nclude <stdio.h>int Func(int n){if(n < 2)return 1;else return n*Func(n-1);} void main(){int n =0,m=0;printf("璇杈撳叆涓涓鏁存暟锛")scanf("%d",&n);m=Func(n);printf("...
  • 扩展阅读:学习c++用什么软件 ... 从小c到大 ... 初中生学c++ ... c++编程适合多大孩子 ... 信息学奥赛c++编程 ... c++和python先学哪个 ... c++编程适合几岁学 ... c++编程考级一共几级 ... c十十编程要学多久 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网