这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/2020OOP/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10288 |
这个作业的目标 | 1.继续完成作业二,优化结构,思考代码拓展性 |
作业正文 | |
其他参考文献 | ... |
那个GitHub的仓库地址不懂是什么意思,就没有写
(因为c++语言实在不会,就拿C语言写了,把之前的代码也改了)
1.之前写的那个代码只能在开始时输入一位数,随意我首先想添加在开始时可输入两位数
首先先大致想了一下,要想输入两位数,就要把这两位数拆开来
所以就有用几个数组来储存汉字中的每一个数
代码如下
int change1(char shu[])
{
char x[10],y[10],z[10];
int n=0;
x[0]=shu[0];
x[1]=shu[1];
if(strcmp(x,"十")==0)
{y[0]=shu[2];y[1]=shu[3];
if(strcmp(y,"一")==0) m=11;
if(strcmp(y,"二")==0) m=12;
if(strcmp(y,"三")==0) m=13;
if(strcmp(y,"四")==0) m=14;
if(strcmp(y,"五")==0) m=15;
if(strcmp(y,"六")==0) m=16;
if(strcmp(y,"七")==0) m=17;
if(strcmp(y,"八")==0) m=18;
if(strcmp(y,"九")==0) m=19;
}
else
{
if(strcmp(x,"二")==0) m+=20;
if(strcmp(x,"三")==0) m+=30;
if(strcmp(x,"四")==0) m+=40;
if(strcmp(x,"五")==0) m+=50;
if(strcmp(x,"六")==0) m+=60;
if(strcmp(x,"七")==0) m+=70;
if(strcmp(x,"八")==0) m+=80;
if(strcmp(x,"九")==0) m+=90;
z[0]=shu[4];z[1]=shu[5];
if(strcmp(z,"一")==0) m+=1;
else if(strcmp(z,"二")==0) m+=2;
else if(strcmp(z,"三")==0) m+=3;
else if(strcmp(z,"四")==0) m+=4;
else if(strcmp(z,"五")==0) m+=5;
else if(strcmp(z,"六")==0) m+=6;
else if(strcmp(z,"七")==0) m+=7;
else if(strcmp(z,"八")==0) m+=8;
else if(strcmp(z,"九")==0) m+=9;
else m+=0;
}
return m;
}
但在运行中发现是错误的,更改几次后,终于明白是要在数组后加“\0".
运行结果
2.然后是负数的结果,我觉得可能性比较小,但我其他不会写,就只能写这个
代码就是
if(num<0)
{
printf("负数”);
num=-num;
}
啊啊啊,就这样吧,我也不会了,技术不精。