寒假作业2

下载GitHub后进行登录,点击“New repository”来添加新的仓库

按照流程直接进行添加即可。

接下来便可以将代码直接进行拖拽上传。
对于.Git ignore,虽然查阅了一些网站材料,但依旧不懂如何进行应用
https://www.jianshu.com/p/74bd0ceb6182
(以下操作我并不知道其必要性)
按照链接https://blog.csdn.net/tanzhengyu/article/details/51064380中的步骤尝试添加ssh key,进行至添加新的ssh key时,由于图中内容无法复制,于是停止于此。

编程题
经过一些修改与改进,已经能够实现作业一中编程题所要求的功能,最后将数字转换为汉字暂时只支持转换一千以内的数字。代码如下

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int change(void);
int turn(int n);
int turn1(int t);
char ling[4]="零",yi[4]="一",er[4]="二",san[4]="三",si[4]="四",wu[4]="五";
char liu[4]="六",qi[4]="七",ba[4]="八",jiu[4]="九",shi[4]="十";
char data[4];
int main(){
    char judge1[7],wallet[7]={"钱包"};
    char judge2[7],less[7]="减少",more[7]="增加",equal[7]="等于";
    int x;
    scanf("%s",judge1);
    for(;;){
        scanf("%s",judge1);
        if(strcmp(judge1,wallet)!=0){
            scanf("%s",judge2);
            break;
        }
        scanf("%s",judge2);
        if(strcmp(judge2,more)==0) x+=change();
        if(strcmp(judge2,less)==0) x-=change();
        if(strcmp(judge2,equal)==0) x=change();
    }
    turn(x);
    system("pause");
    return 0;
    system("pause");
}

int change(void){
    scanf("%s",data);
    if(strcmp(data,ling)==0) return 0;
    if(strcmp(data,yi)==0) return 1;
    if(strcmp(data,er)==0) return 2;
    if(strcmp(data,san)==0) return 3;
    if(strcmp(data,si)==0) return 4;
    if(strcmp(data,wu)==0) return 5;
    if(strcmp(data,liu)==0) return 6;
    if(strcmp(data,qi)==0) return 7;
    if(strcmp(data,ba)==0) return 8;
    if(strcmp(data,jiu)==0) return 9;
    if(strcmp(data,shi)==0) return 10;
}

int turn(int n){
    int m=0,l=0;
    if(n>=100){
        turn1(n/100);
        printf("百");
        n%=100;
        m=1;
    }
    if(n>=10){
        if(n/10!=1||(n/10==1&&m==1)) turn1(n/10);
        printf("十");
        l=1;
    }
    else if(m==1&&n!=0) printf("零");
    if(n%10!=0||(n%10==0&&m==0&&l==0)) turn1(n%10);
}

int turn1(int t){
    if(t==0) printf("零");
    if(t==1) printf("一");
    if(t==2) printf("二");
    if(t==3) printf("三");
    if(t==4) printf("四");
    if(t==5) printf("五");
    if(t==6) printf("六");
    if(t==7) printf("七");
    if(t==8) printf("八");
    if(t==9) printf("九");
}

编译脚本,我用记事本写了一份.bat文件,如图所示

在命令行运行后,显示编译成功,并且在“代码”文件夹中出现了testt.exe,说明编译脚本可以使用。

接下来我进行了对代码中最后的数字转汉字部分进行了测试,测试脚本及代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int turn1(int t);
int main(){
    int i,x,n=0;
    for(i=0;i<=9;i++){
        x=turn1(i);
        if(x!=i) n++;
    }
    if(n==0) printf("\n运行正确");
    else printf("\n运行错误");
    system("pause");
    return 0;
}
int turn1(int t){
    if(t==0) {printf("零");return 0;}
    if(t==1) {printf("一");return 1;}
    if(t==2) {printf("二");return 2;}
    if(t==3) {printf("三");return 3;}
    if(t==4) {printf("四");return 4;}
    if(t==5) {printf("五");return 5;}
    if(t==6) {printf("六");return 6;}
    if(t==7) {printf("七");return 7;}
    if(t==8) {printf("八");return 8;}
    if(t==9) {printf("九");return 9;}
}

运行后的结果如下

最后要求的新功能暂时无能力实现。

posted @ 2020-02-05 16:43  BengLuo  阅读(199)  评论(0)    收藏  举报