zoukankan      html  css  js  c++  java
  • 第一次个人编程作业·寒假

    这个作业属于哪个课程 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 ",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.测试

  • 相关阅读:
    xavier NX编译caffe错误记录(二)
    ubuntu16安装微信
    linux中安装onenote(P3X OneNote)
    ubuntu16中,google浏览器安装OneNote Web Clipper插件
    酒店门锁接口说明
    在xaf 14 中实现 Tonyyang原文中的action权限
    MRP生产计划模式在多品种小批量生产过程中遭遇挑战
    C#代码
    简陋的会计凭证金额输入控件(加强) [转]
    简陋的会计凭证金额输入控件(再加强) [转]
  • 原文地址:https://www.cnblogs.com/211702335-wanghuimin/p/12289255.html
Copyright © 2011-2022 走看看