这个作业属于哪个课程 | 软件工程 (福州大学至诚学院 - 计算机工程系) |
---|---|
这个作业要求在哪里 | 第二次个人编程作业 |
这个作业的目标 | 和同学之间互相提出issue和改进代码 |
作业正文 | GitHub地址 |
其他参考文献 | 无 |
我的commit提交信息
"让我看看你的代码!"
1、蔡泽华的GitHub仓库地址
- 建议:输入“如果”里面判断的代码的输入,合并为一个,减少代码量,也减少代码冗余
2、蔡雨婷的GitHub仓库地址
- 建议:判断字符长度为2的数字时,需要限定输入数值大小,“一千”“一万”等字符长度为2的数字输入后会报错,修改判断条件
3、曹淦淇的GitHub仓库地址
- 代码可以执行样例一,无法执行样例二
4、林铭智的GitHub仓库地址
- 建议:“如果”的判断被注销,不能执行,“如果”里面直接直接break没有确切功能,添加其功能
5、朱紫阳的GitHub仓库地址
- 建议:输出结果只限定于代码中所给定的内容,并且只能与数字10比较,应添加能够动态输入的方式与结果比较
6、魏忠杰的GitHub仓库地址
- 建议:else里
y=n1(c)
,y是整型变量,n1(c)返回的是字符型变量,所以会报错,将n1改成n就行了
7、陶佳杰的GitHub仓库地址
- 输出的结果只限定于代码中给定的
8、连捷的GitHub仓库地址
- 建议:只能运用于样例一,不能实现其他功能,需要改进
9、何子聪的GitHub仓库地址
- 建议:可以去添加上处理十以上数字的方法,例如添加上
strlen(var)
,根据输入的字符长度来判断输入的数字是否为十以上的数字
10、魏鹏辉的GitHub仓库地址
- 建议:在
if(strcmp(bb,"看看")== 0)
内添加上scanf("%s %s %s %s %s %s %s %s %s %s",a,b,c,d,e,f,g,h,i,j);
来实现如果的输入,之后用你的输出结果与这里的d比较,即if(result>d){printf("%s %s",result,g);}
这样就能实现结果与你想比较的数字进行比较,输出的文字也能动态实现
"容我再改一改!"
2.1 已解决
-
解决方案回复张体杰:对于此问题,是因为我设置的输入顺序问题,如果按照样例一的输入格式来输入则可以正常运行(后来同学们重复提输入顺序的问题,最后按照同学们意见改了)
2.2 已解决
- 解决方案:
对于此问题可能是部分人对样例输入格式理解不同导致的(附上样例一),样例一输入的顺序是所有输入完再一次性输出
如果非要按照建议改进,即:
else if(strcmp(name1,"看看")==0)
{
scanf("%s",name);
if(sum>=0&&sum<=10)
{
printf("%s
",chinese[sum]);
}
else if(sum>10&&sum<=99)
{
if(sum%10==0)
{
printf("%s十
",chinese[sum/10]);
}
else if(sum<=19)
{
printf("十%s
",chinese[sum%10]);
}
else
{
printf("%s十%s
",chinese[sum/10],chinese[sum%10]);
}
}
2.3 已解决
- 对建议的回复:对于这位同学提出来的问题存在上面同学已经提出来的(输入顺序问题,上位同学提出来的建议已经修改),对于输出结果出错,我经过反复测试没有问题,我想可能是这位同学在测试的出现了错误(附上测试图)
-
解决方案回复江李悦:实现范例二中判断的动态化(可以实现对给定数字与结果数字比较)并且添加了对年龄判断的不同要求,如:年龄大于目标值,还是小于目标值。修改为:
else if(strcmp(b,"大于")==0)
{
scanf("%s %s",a,age);
int z=jud(numb2);
int k=jud(e);
if(sum>z)//第二题sum表示年龄,sum2零花钱
{
int x=sum2+k;
printf("%s",chinese[x]);
}
else
{
int t=jud(numb3);
printf("%s",chinese[sum2]);
}
}
else if(strcmp(b,"小于")==0)
{
scanf("%s %s",a,age);
int z=jud(numb2);
int k=jud(e);
if(sum>z)//第二题sum表示年龄,sum2零花钱
{
int x=sum2-k;
printf("%s",chinese[x]);
}
else
{
int t=jud(numb3);
printf("%s",chinese[sum2]);
}
}
2.4 已解决
-
解决方案回复冉滨
scanf("%s %s %s %s %s %s %s %s %s",age,b,numb2,d,money,word,e,f,cold);
int lasttmp=jud(numb2);
int len=strlen(word);
int len1=strlen(cold);
if(strcmp(age,name)==0&&strcmp(money,"看看")==0)
{
if(sum>=lasttmp)
{
for (int i=1;i<len-1; i+=2) {printf("%c%c",word[i],word[i+1]);}//去除双引号
}
else if(sum<lasttmp)
{
for(int j=1;j<len1-1;j+=2) {printf("%c%c",cold[j],cold[j+1]);}//去除双引号*/
}
}
2.5
回复刘雨昂,改进了部分代码,不会造成输入不符合格式的数值导致bug
2.6
回复蔡泽华,个人编程习惯,不进行更改
"让我再看一看!"
1、曹淦淇
他的改进:
- 增加了样例二的判断
- 能基本实现样例二的功能
2、蔡雨婷
她的改进:
- 增加了负数的判定
- 排除了根据字符长度来判断数字的大小带来的bug