三位整数逆序输出

#include<stdio.h>
int main()
{
        int n,x,y,z,a;
        printf("Please input:");
        scanf("%d",&n);
        x=n/100;   //取百位
        y=(n%100)/10;  //取十位
        z=n%10;  //取个位
        a=100*z+10*y+x;
        printf("%d\n",a);
        return 0;
}
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
#include "iostream.h" #include "string.h" #include "stdlib.h" int g; //g是接收功能选择的变量 // 加法函数 void out() { cout<<" 程序功能:可以完成任意大数的加法,减法和比较大小"<<endl; cout<<" 乘法,除法和求余只能完成一定范围内数的运算"<<endl<<endl<<endl; } void add(char a[],char b[],int x,int y,int f,int d) { char c[102]; int i; int j; int jin=0; int s=0; int m,ma; int xx,yy; if(d==0) { xx=0;yy=0; } if(d==1) { xx=1;yy=0; } if(d==2) { xx=0;yy=1; } if(d==3) { xx=1;yy=1; } x>y?m=x:m=y; ma=m; i=x-1; j=y-1; for(;m>0;i--,j--,m--) { if(j<yy && i>=xx) s=int(a[i])-48+jin; //将字符转换成整型 else if(i<xx && j>=yy) s=int(b[j])-48+jin; else if(i>=xx && j>=yy) s=(int(a[i])-48+int(b[j])-48+jin); if(s>9) { jin=1; c[m]=char(s+38); } else { jin=0; c[m]=char(s+48); } } if(jin==1) c[0]='1'; else c[0]=' '; if(g==1) { cout<<"两数相加的结果为:"; if(f==0) for(i=0;i<ma+1;i++) cout<<c[i]; else { cout<<'-'; for(i=0;i<ma+1;i++) cout<<c[i]; } } if(g==2) { cout<<"两数相减的结果为:"; if(f==0) for(i=0;i<ma+1;i++) cout<<c[i]; else { cout<<'-'; for(i=0;i<ma+1;i++) cout<<c[i]; } } cout<<endl; } // 减函数 void jian(char a[],char b[],int x,int y,int f,int d) { char c[102]; int i; int j; int jin=0; int s=0; int m,ma; int xx,yy; if(d==0) { xx=0;yy=0; } if(d==1) { xx=1;yy=0; } if(d==2) { xx=0;yy=1; } if(d==3) { xx=1;yy=1; } m=x-1; ma=m; i=x-1; j=y-1; for(;m>=0;i--,j--,m--) { if(j<yy&&i>=xx) s=int(a[i])-48-jin; else if(i>=xx&&j>=yy) s=(int(a[i])-48)-(int(b[j])-48)-jin; if(s<0) { jin=1; c[m]=char(s+58); } else { jin=0; c[m]=char(s+48); } } if(g==1) { cout<<"两数相加的结果为:"; if(f==0) for(i=0;i<ma+1;i++) cout<<c[i]; else { cout<<'-'; for(i=0;i<ma+1;i++) cout<<c[i]; } } if(g==2) { cout<<"两数相减的结果为:"; if(f==0) for(i=0;i<ma+1;i++) cout<<c[i]; else { cout<<'-'; for(i=0;i<ma+1;i++) cout<<c[i]; } } cout<<endl; } // 比较大小函数 void bijiao(char a[],char b[],int x,int y) { int len=0; if(a[0]=='-' && b[0]=='-' || a[0]!='-' && b[0]!='-') { if(x>y) { if(a[0]=='-') cout<<"数一小于数二"<<endl; else cout<<"数一大于数二"<<endl; } else if(x==y) { for(int i=0;i<x;i++) { if(a[0]=='-') { if(a[i]<b[i]) { cout<<"数一大于数二"<<endl; break; } else if(a[i]>b[i]) { cout<<"数一小于数二"<<endl; break; } else len++; } else { if(a[i]<b[i]) { cout<<"数一小于数二"<<endl; break; } else if(a[i]>b[i]) { cout<<"数一大于数二"<<endl; break; } else len++; } } if(len==x) cout<<"两数相等!"<<endl; } else if(x<y) { if(a[0]!='-') cout<<"数一小于数二"<<endl; else cout<<"数一大于数二"<<endl; } } if(a[0]=='-' && b[0]!='-') cout<<"6数一小于数二!"<<endl; if(a[0]!='-' && b[0]=='-') cout<<"数一大于数二!"<<endl; } // 乘法函数 void chen(char a[],char b[]) { cout<<"两数想乘的结果为:"; cout<<double(atof(a))*double(atof(b))<<endl; } void chu(char a[],char b[]) { cout<<"两数想除的结果为:"; cout<<double(atof(a))/double(atof(b))<<endl; } void yu(char a[],char b[]) { cout<<"数一除数二的余数为:"; cout<<atoi(a)%atoi(b)<<endl; } // 主函数 void main() { char a[100]; char b[100]; char yn; int f,d; int x,y; out(); cout<<" 输入第一个大数:"; cin>>a; cout<<" 输入第二个大数:"; cin>>b; while(1) { cout<<"(1:加法 2:减法 3:比较 4:乘法 5:除法 6:求余)请选择:"; cin>>g; x=strlen(a); y=strlen(b); if(a[0]=='-' && b[0]=='-' && g==1) { f=1; d=3; add(a,b,x,y,f,d); } if(a[0]!='-' && b[0]!='-' && g==1) { f=0; d=0; add(a,b,x,y,f,d); } if(a[0]=='-' && b[0]!='-' && g==1) { if(x-1>y) { f=1; d=1; jian(a,b,x,y,f,d); } if(x-1==y) { for(int i=0;i<x-2;i++) { if(a[i+1]>b[i]) { f=1; d=1; jian(a,b,x,y,f,d); break; } if(a[i+1]<b[i]) { f=0; d=2; jian(b,a,y,x,f,d); break; } } } if(x-1<y) { f=0; d=2; jian(b,a,y,x,f,d); } } if(a[0]!='-' && b[0]=='-' && g==1) { if(x>y-1) { f=0; d=2; jian(a,b,x,y,f,d); } if(x==y-1) { for(int i=0;i<x;i++) { if(a[i]>b[i+1]) { f=0; d=2; jian(a,b,x,y,f,d); break; } if(a[i]<b[i+1]) { f=1; d=1; jian(b,a,y,x,f,d); break; } } } if(x<y-1) { f=1; d=1; jian(b,a,y,x,f,d); } } if(a[0]=='-' && b[0]=='-' && g==2) { if(x>y) { f=1; d=1; jian(a,b,x,y,f,d); } if(x==y) { for(int i=1;i<x;i++) { if(a[i]>b[i]) { f=1; d=1; jian(a,b,x,y,f,d); break; } if(a[i]<b[i]) { f=0; d=2; jian(b,a,y,x,f,d); break; } } } if(x<y) { f=0; d=2; jian(b,a,y,x,f,d); } } if(a[0]!='-' && b[0]!='-' && g==2) { if(x>y) { f=0; d=0; jian(a,b,x,y,f,d); } if(x==y) { for(int i=0;i<x;i++) { if(a[i]>b[i]) { f=0; d=0; jian(a,b,x,y,f,d); break; } if(a[i]<b[i]) { f=1; d=0; jian(b,a,y,x,f,d); break; } } } if(x<y) { f=1; d=0; jian(b,a,y,x,f,d); } } if(a[0]!='-' && b[0]=='-' && g==2) { f=0; d=2; add(a,b,x,y,f,d); } if(a[0]=='-' && b[0]!='-' && g==2) { f=1; d=1; add(a,b,x,y,f,d); } if(g==3) { bijiao(a,b,x,y); } if(g==4) chen(a,b); if(g==5) chu(a,b); if(g==6) yu(a,b); cout<<"是否运行其它算法?(Y/N)"; cin>>yn; if(yn!='Y' && yn!='y') break; } }赞同0| 评论 向TA求助 回答者: PFanAya | 四级采纳率:27% 擅长领域: C/C++ 参加的活动: 暂时没有参加的活动 提问者对回答的评价: 谢了 相关内容 2012-2-6 请设计一个有效的算法,可以进行两个n位大整数的乘法运算。 2011-5-31 c语言题目 1.编写两个函数,输入的整数按字符串形式逆序输出,要求... 2011-4-21 用c语言表达,输出 思路写两个例子,不要printf("\n").其次:需... 2 2011-4-3 请你设计个算法,在整数边长的直角三角形ABC的斜边c的长度确定的情... 2009-5-14 如何用栈设计个C语言计算器,高手请跟我说说算法,特别是那些括号... 7 更多相关问题>> 查看同主题问题: 整数 乘法 c++ 算法 长度 两个 其他回答 共2条 2010-10-4 09:56 alfredzzj | 三级 网上很多的呀,Google一下。 按照乘法的运算思想就可以,这是每次都将进位缓存起来。 赞同0| 评论 2010-10-5 13:44 陈学阳 | 十二级 感觉这个好~~你可以挨着比较两个字符,需要匹配的可以不去比较,或者是问号的就当成是相等的字符 bool Match(const char* pSrc,const char* pMatch) { while(*pSrc!=0) { if(*pMatch==0) return false; if(*pMatch != '?' && *pSrc != *pMatch) return false; pMatch++; pSrc++; } if(*pMatch!=0) return false; else return true; }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值