这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/SE/
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy/SE/homework/10283
这个作业的目标 制作一个简易的中文语言编译器
作业正文
其他参考文献

1.编程题目

汉字是迄今为止持续使用时间最长的文字,也是上古时期各大文字体系中唯一传承至今者,中国历代皆以汉字为主要的官方文字。我们在感叹汉字的源远流长时,也不禁感慨,为什么没有一门使用汉字编程的语言?

小杨同学想到:用汉字来进行编程一定很有趣,来请你帮帮他。

2.编程要求

请编写一个程序,制作一个简易的中文语言编译器,即使用中文语法进行编程,输入为逐行输入,每行为一个语句,一个语句代变一个操作,满足以下语法要求(括号内代变格式类型,具体参考样例):

变量定义:整数 (变量名) 等于 (数字)

运算(加法):(变量名) 增加 (数字)

运算(减法):(变量名) 减少 (数字)

输出:看看 (变量名) or 看看 “(字符串内容)”

附加要求:

选择:如果 (判断语句) 则 (操作语句) 否则 (操作语句)

若否则后没有任何操作使用(无)来进行填充(参考样例2)

3.遇到问题:

问题:[Error] 'for' loop initial declarations are only allowed in C99 or C11 mode



参考:https://blog.csdn.net/qq_38316655/article/details/82830565

问题:如何通过 GitHub Desktop 上传代码到 GitHub 远程仓库(暂时未完成)

参考:http://www.bubuko.com/infodetail-2631368.html

4.记录

行数:64

用时:>4天

首次编译时间:2s+

编译时间: 0.33s

5.代码:

include<stdio.h>

include<string.h>

include<malloc.h>

include<math.h>

int num(char n[])

{

if(strcmp(n,"零") == 0) return 0;

else if(strcmp(n,"一") == 0) return 1;

else if(strcmp(n,"二") == 0) return 2;

else if(strcmp(n,"三") == 0) return 3;

else if(strcmp(n,"四") == 0) return 4;

else if(strcmp(n,"五") == 0) return 5;

else if(strcmp(n,"六") == 0) return 6;

else if(strcmp(n,"七") == 0) return 7;

else if(strcmp(n,"八") == 0) return 8;

else if(strcmp(n,"九") == 0) return 9;

else if(strcmp(n,"十") == 0) return 10;

else return -1;

}

void chinese(int x)

{

switch(x)

{

case 0:printf("零");break;

case 1:printf("一");break;

case 2:printf("二");break;

case 3:printf("三");break;

case 4:printf("四");break;

case 5:printf("五");break;

case 6:printf("六");break;

case 7:printf("七");break;

case 8:printf("八");break;

case 9:printf("九");break;

case 10:printf("十");break;

}

}

int main()

{

char zhengshu[100],name[100],is[100],n[100],c[100],v[100],b[100],l[100],z[100],m[100],k[100],p[100],o[100];

char a[10],oper[10],ruguo[10];

int x,i;

scanf("%s %s %s %s",zhengshu,name,is,n);

getchar();

if(strcmp(zhengshu,"整数") == 0)

{

if(strlen(n) == 2)

{

x = num(n);

if(x != -1)

{

for(i = 0 ; i < 2 ; i++)

{

scanf("%s %s %s\n",a,oper,is);

if(strcmp(oper,"增加") == 0) x += num(is);

if(strcmp(oper,"减少") == 0) x -= num(is);

            }
scanf("%s",ruguo);
}
if(strcmp(ruguo,"如果")==0){//cvblmzkpo
scanf("%s %s %s %s %s %s %s %s ",k,p,is,o,b,c,l,m);
if(x > 8){
chinese(x);
printf("%s",c);
} else{
printf("%s",m);
}
}
}
}

}

6.测试

第一次个人编程作业&#183;寒假的更多相关文章

  1. 第一次UML编程作业

    博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE2/ 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018S ...

  2. 第一次个人编程作业:我的分数我做主 - 软件工程与 UML

    博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018SE ...

  3. Bean_sprout的第一次编程作业

    第一次编程作业 一.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 120 · Estim ...

  4. Stanford coursera Andrew Ng 机器学习课程编程作业(Exercise 2)及总结

    Exercise 1:Linear Regression---实现一个线性回归 关于如何实现一个线性回归,请参考:http://www.cnblogs.com/hapjin/p/6079012.htm ...

  5. 11061160_11061151_Pair Project: Elevator Scheduler软件工程结对编程作业总结

    软件工程结对编程作业总结 11061160  顾泽鹏 11061151  庞梦劼 一.关于结对编程 这次的软工任务既不是单打独斗的个人任务,也不是集思广益的团队项目,而是人数为两人的结对编程.两个人合 ...

  6. 第一次博客作业(初识C++)

    Q1:学习<C++语言程序设计>课程之前,你知道什么是编程吗?谈谈上这门课之前你对编程的理解,以及你对自己编程能力的评估. A1:开始课程之前,我认为编程是这样的:用计算机的语言写一份流程 ...

  7. oo 第一次博客作业

    oo 第一次博客作业 早在大一就听说了oo的各种传奇故事,大二下学期终于也开始了我的oo之旅. 基于度量来分析自己的程序结构 第一次作业 类图分析 耦合度分析 可以看出在第一次作业中,我的耦合度非常高 ...

  8. [BUAA软工]第一次博客作业---阅读《构建之法》

    [BUAA软工]第一次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第1次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪 ...

  9. 2018 OO第一次总结(作业1-3)

    第一次作业1.程序分析 (1)OO度量 (2)类图: (3)分析与评价: 这次作业由于作业整体设计难度不大,因此按照去年暑假上的OO先导课老师讲的设计方法很容易实现一个还不错的面向对象式程序,类与类之 ...

随机推荐

  1. .NET CORE(C#) WPF 方便的实现用户控件切换(祝大家新年快乐)

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. .NET CORE(C#) WPF 方便的实现用户控件切换(祝大家新年快乐) 快到2020年了 ...

  2. LAN、WAN和WLAN的区别

    1.LAN 局域网(Local Area Network)接口,通俗讲就是路由和用户之间网线口: 2.WAN 广域网(Wide Area Network),通俗讲就是和猫外部网连接的网线口: 3.WL ...

  3. A tiny problem with integers

    # A tiny problem with integers 给定长度为N的数列A,然后输入M行操作指令. 第一类指令形如“C l r d”,表示把数列中第l~r个数都加d. 第二类指令形如“Q X” ...

  4. 第1章 JavaScript 简介

    第1章 JavaScript 简介 1.1 JavaScript简史 1.2 JavaScript实现 1.2.1 ECMAScript 1.2.2 文档对象模型(DOM) 1.2.3 浏览器对象模型 ...

  5. 关于在ssm下创建项目使用阿里巴巴下的druid数据库报错,出现无法创建连接的原因

    报错原因:外部jdbc.driver使用原生jdbc驱动jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql:///yonghedb?charact ...

  6. Docker容器Centos不能使用systemctl命令问题

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/bug-dock ...

  7. Pikachu-RCE(远程命令/代码执行漏洞)

    RCE(remote command/code execute)概述 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行一般出现这种漏洞,是因为 ...

  8. C#最基本的Socket编程

    示例程序是同步套接字程序,功能很简单,只是客户端发给服务器一条信息,服务器向客户端返回一条信息,是一个简单示例,也是一个最基本的socket编程流程. 简单步骤说明: 1.用指定的port, ip 建 ...

  9. 第1节-认识Jemeter

    1-Jemeter是什么 Apache JMeter是一款100%纯java实现的应用程序,它是开源的.该软件用于测试软件系统或应用程序的功能和性能. 最初设计这个软件的目的是用户测试web应用程序, ...

  10. 开学第一课Java考试

    package moguiba;import java.text.DecimalFormat;import java.util.Scanner;import moguiba.ScoreInformat ...