这个作业属于哪个课程 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. springBoot进阶02

    SpringBoot进阶02 1. 日志的使用 1.1 基本使用 /** * 获取日志记录器 */ Logger logger = LoggerFactory.getLogger(this.getCl ...

  2. MySQL数据库root密码忘记丢失重置方法

    对于DBA来说,丢失超管用户root的密码是致命的, 可以通过添加--ship-grant-tables参数来跳过权限表. 1.忘记root密码,进不去数据库: 这个时候需要强制停库,先查看MySQL ...

  3. ts中基本数据类型(上)

      /* 定义数组*/ var arr: number[] = [1, 2, 3]; var arr1: Array<number> = [1, 2, 3]; var arr2: [str ...

  4. HDU-1754 I Hate It (树状数组模板题——单点更新,区间查询最大值)

    题目链接 ac代码(注意字符读入前需要注意回车的影响) #include<iostream> #include<cstdio> #include<cstring> ...

  5. MongoDB批量操作时字段为null时没有入库

    今天在Java后端批量插入数据至MongoDB后,在MongoDB数据库中发现某个字段没有成功入库,一查看代码,在List的元素对象中是有这个字段的,不知为啥就没有入库了. (1)调试 遇到此情况,赶 ...

  6. UESTC 1324 卿学姐与公主 分块板子

    #include<iostream> #include<cmath> using namespace std; ; //表示当前数在哪一块里面 int belong[maxn] ...

  7. java 上传文件到七牛云中

    import com.alibaba.fastjson.JSONObject;import com.qiniu.common.QiniuException;import com.qiniu.commo ...

  8. 根据词频生成词云(Python wordcloud实现)

    网上大多数词云的代码都是基于原始文本生成,这里写一个根据词频生成词云的小例子,都是基于现成的函数. 另外有个在线制作词云的网站也很不错,推荐使用:WordArt 安装词云与画图包 pip3 insta ...

  9. windows系统安装python

    1.python3 下载 官网下载:https://www.python.org百度网盘下载:https://pan.baidu.com/s/1dH0UZg_7Q-YcppR0PjUfzQ提取码:xl ...

  10. scrapy框架爬取多级页面

    spides.py # -*- coding: utf-8 -*- import scrapy from weather.items import WeatherItem from scrapy.cr ...