我的毕业测试题目(C语言实现英文单词zero~nine的加法)
来源:互联网 发布:淘宝客推广方法有哪些 编辑:程序博客网 时间:2024/05/01 13:36
题目要求:完成如下功能:(C语言实现)
1. 输入两个英文数字(个位数或十位数)并相加,数字与数字,数字与算符之间用空格符分隔如one + two =,one two(12) + three =, 并输出数字结果。
2. 输入zero + zero = 结束程序
例如:one + two =
输出3;并可以继续输入。
代码实现部分:
include “stdio.h”
include “windows.h”
//函数功能:将英文输入的两个数相加并输出结果(如one + one =,显示2);
//对于格式要求较为严格。
int chartoint(char *c)//用于将英文转换成整型数
{
switch(c[0])
{
case ‘o’: return 1;
case ‘t’:if(c[1]==’w’) return 2; else return 3;
case ‘f’:if(c[1]==’o’) return 4; else return 5;
case ‘s’:if(c[1]==’i’) return 6; else return 7;
case ‘e’: return 8;
case ‘n’: return 9;
default: return 0;
}
}
bool match()//功能实现函数
{ int c,i=0,j=0,u=0,sum=0,count=0;
bool q[2]={false,false};//用来作为判断输入的数是十位数还是个位数,初始都为false,每一位对应一个数;
char a[4][5];//存放输入的数的英文
c=getchar();
while(c!=’=’)//判定=号的到来
{ while(c!=’+’&&c!=’\n’&&c!=’=’)//判定+号的到来
{
while(c!=’ ‘&&c!=’\n’&&c!=’=’)//判定空格
{ a[i][j++]=(char)c;
c=getchar();
}
if(c==’ ‘) //舍弃无用空格,得到新字符
{c=getchar();
if(a[i][0]>0&&a[i][0]<123)//判定空格类型,是数字与数字之间还是算符与数字之间
{ i++;//若是字符之间,则单个字母录入完毕,用下一组字符串数组存放下一个字符
j=0;
count++;}//count用于记录=号之前录入了几个数,如果是1则为个位数,如果是2则为十位数
}
}
if(count==2) //判断是个位数还是十位数。若是十位数则更改bool数组的值
{q[u++]=true;
count=0;
}
else u++;
if(c==(int)'+') //将加号舍去录入下一个字符,并将count计数器清零 {c=getchar(); count=0;}}if(q[0]==true)//根据bool数组的记录来对应算结果{ if(q[1]==true) {sum=chartoint(a[0])*10+chartoint(a[1])+chartoint(a[2])*10+chartoint(a[3]); } else{ sum=chartoint(a[0])*10+chartoint(a[1])+chartoint(a[2]);}}else{if(q[1]==true) {sum=chartoint(a[0])+chartoint(a[1])*10+chartoint(a[2]); } else{ sum=chartoint(a[0])+chartoint(a[1]);}}if(sum==0) //判定是否结束 return false;else {printf("%d\n",sum);flushall();//清除键盘输入return true;}
}
void main()
{
while(match());
}
- 我的毕业测试题目(C语言实现英文单词zero~nine的加法)
- C语言实现的高精度加法
- 高精度加法的c语言实现
- C语言位移实现两个数的加法
- C语言:用链表实现一元多项式的加法
- 关于C语言中加法的实现原理
- 单链表的应用——多项式加法的C语言实现(链式存储结构)
- PAT 3-04 一元多项式的乘法与加法运算(C语言实现)
- 这些题目,来测试一下你的C语言水平
- c语言 高精加法的代码
- C语言基础篇:大数的加法
- C语言编写的加法程序
- acm题目及我的程序(3)——正整数n的加法组合
- 毕业找工作(很俗的题目)
- C语言实现的压力测试代码
- C语言简答题含有部分我们阶段测试的题目(二)
- C语言简答题含有部分我们阶段测试的题目(一)
- C语言实现只用加法和减法实现两个正整数的乘除运算
- [Javascript] DOM
- 总结
- maven3 手动安装本地jar到仓库
- 孩子经不经常看电视的差别居然这么大!
- SqlCipher在Android上数据库的加密
- 我的毕业测试题目(C语言实现英文单词zero~nine的加法)
- Linux中的中断处理
- Scrum Master的小技巧
- 霾愁
- notepad++ 加粗或字体变大成为粗体怎么办
- 稀疏傅里叶变换(频率降采样)
- Spark 调优
- mini2440上烧写Angstrom(GTK)版本内核
- SQL中的并发