博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算a+b
阅读量:6679 次
发布时间:2019-06-25

本文共 1819 字,大约阅读时间需要 6 分钟。

输入:

1 2

结果:

3

说明:只能输入数字,两数间只有一个空格

代码如下:(vc6编译)

#include 
#include
void main(){ int fir[16]={
0}; //保存输入的第一个数 int sec[16]={
0}; //保存输入的第二个数 char input; int firIndex=0,secIndex=0; int flag = 0; //判断空格数,只允许出现一个空格 int sum = 0; int maxFirIndex = 0; //第一个数最大下标 int maxSecIndex = 0; //第二个数最大下标 int some = 1; //用于从数的倒数第二位往前求和时每次自乘10 //printf("%d\n",fir[1]); //printf("%d\n",sec[1]); printf("请输入:\n"); while((input=getch()) != '\r'){ printf("%c",input); if(input == ' '){ flag++; }else if(input < 48 || input > 57){ //只允许输入数字 printf("\n输入格式不对,只允许输入数字!\n"); return; }else{ if(flag == 0){ fir[firIndex] = (int)input - 48; //字符转数字 firIndex++; }else if(flag == 1){ sec[secIndex] = (int)input - 48; secIndex++; }else{ printf("\n空格输入过多,只允许一个空格出现!\n");          return; } } } maxFirIndex = --firIndex; maxSecIndex = --secIndex; firIndex--; secIndex--; //printf("\nfirIndex:%d,maxFirIndex:%d\n",firIndex,maxFirIndex); //printf("secIndex:%d,maxSecIndex:%d\n",secIndex,maxSecIndex); /* 计算第一个数的和,略过个位,从十位开始 */ for(;firIndex >= 0;firIndex--){ some *= 10; sum += fir[firIndex] * some; } some = 1; //重置 /* 计算第二个数的和,略过个位,从十位开始 */ for(;secIndex >= 0;secIndex--){ some *= 10; sum += sec[secIndex] * some; } /* 加上第一个数的个位 */ if(maxFirIndex > -1) sum += fir[maxFirIndex]; /* 加上第二个数的个位 */ if(maxSecIndex > -1) sum += sec[maxSecIndex]; printf("\n和:\n"); printf("%d\n",sum);}

 运行如下:

转载于:https://www.cnblogs.com/boluoboluo/p/6529085.html

你可能感兴趣的文章
java-buildpack源码分析之Release
查看>>
iptables实现网络防火墙及地址转换
查看>>
Objective-C基础语法规则教程
查看>>
fiddler的使用
查看>>
Spring事务5种属性
查看>>
css图片对齐排版思路
查看>>
如何将sql 2000数据库 移植到 mysql 数据库中
查看>>
视频播放的优化与切换测试记录
查看>>
使用Go语言实现自己的区块链
查看>>
LoadRunner脚本之EXTRARES参数
查看>>
我的友情链接
查看>>
linux下为什么删除了文件空间却不释放?
查看>>
shell脚本之循环语句
查看>>
感到自己自私和无力
查看>>
更改EMC-Powerpath软件的路径工作模式
查看>>
软件管理
查看>>
[ Talk is Cheap Show me the CODE ] : jQuery Mobile
查看>>
LVM——逻辑卷管理
查看>>
离线安装gcc(CentOS7)
查看>>
客运车辆监管及运营平台
查看>>