C语言作业怎么答辩,明天就要C语言课程设计答辩了,但是编写的程序不知道如何表述,需要? 爱问知识人...

程序代码如下,它的功能是“用英文单词模拟数学运算”读入两个小于 100 的正整数 A和 B,计算 A B 。需要注意的是: A和 B的每一位数字由对 应的英文单词给出 ,具体的输入出格式规定如下 。

输入格式:one two =

输出格式:three

程序代码如下,它的功能是“用英文单词模拟数学运算”读入两个小于 100 的正整数 A和 B,计算 A B 。需要注意的是: A和 B的每一位数字由对 应的英文单词给出 ,具体的输入出格式规定如下 。

输入格式:one two =

输出格式:three

(PS:如果有人可以重新帮我写一份并加上解释我会额外重谢!)#include

#include

#include char num[10][6] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };int parse(char * input)

{

int i = 0;

int match = 0;

for (i = 0; i data = data;

x->next = root;

root = x;

}int stack_pop(int * data)

{

struct TStack * x = root;

if (!x)

return 0;

root = x->next ;

*data = x->data ;

free(x);

return 1;

}int SumFromStack(void)

{

int x = 0, y = 0, z = 0, sum = 0;

int tens[] = {1, 10, 100,1000,10000};

do

{

x = stack_pop(&y);

if (x == 0) break;

sum = y * tens[z ];

}

while(z < 5);

return sum;

}void print(int C)

{

char str[256]=" "; size_t i = 0;

sprintf(str, "%d", C);

for (i = 0; i < strlen(str); i )

printf("%s ", num[str[i] - '0']);

printf("

");

}

int main(void)

{

char str[256] = " "; int A = 0, B = 0, x = 0;

do

{

A = 0; B = 0; root = 0;  x = 0;

for( ; ; )

{

str[0] = 0;

scanf("%s", str);

x = parse(str);

if (x < 0 )

{

if (str[0] == ' ') A = SumFromStack();

if (str[0] == '=')

{

B = SumFromStack();

break;

}

}

else

{

stack_push(x);

}

}

if (A || B) print(A B);

}

while(A || B);

system("pause");

return 0;

展开

全部

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值