第二次寒假作业
第二次寒假作业
1.建仓库
2.自学markdown
3.1001编程题
说实话,好长时间不打c语言了,真的有点懵逼,不过还好做着做着就找到些感觉了,思路是跟上了
- 最终代码
#include<stdio.h>
#include <string.h>
#include <stdlib.h>
int main(){
int a,b,c,size;
char str[20];
scanf("%d %d",&a,&b);
c=a+b;
sprintf(str,"%d",c);
size=strlen(str);
// printf("%s",str);
if(size>3)
for(int i=0,j=0;i<size;i++,j++)
{
if(i==0) j=3-size%3;
if(c>0) {
if(j%3==0&&i!=0) printf(",");
printf("%c",str[i]);
}
if(c<0){
if(j%3==0&&i!=0&&i!=1) printf(",");
printf("%c",str[i]);
}
}
else
for(int i=0;i<size;i++)
printf("%c",str[i]);
return 0;
}
-
这是我正在做的时候的调试的照片,一开始还没有想太多,注释里是我想到可能遇到的和已经遇到的问题,其中,最主要的思路就是怎么找三位了,我想的方法一是倒置,二是通过转换字符串然后用strlen计算位数来找三位,最后我选择了第二种
-
这是第一次提交上去后的结果还可以,这个网站比我预想中的要好,虽然是编译错误,但至少告诉我了错误在哪里,不过这些错误确实让我很懵逼,第一点是英文,第二点编译器不一样,所以有很多我的dev上没有出现的问题,他警告我,真的有点郁闷
-
这个上我在网上找原因的过程,原来itoa在标准c语言里不能用,后来找到了sprintf,才解决了这个问题
-
这是我在解决了itoa之后提交了一次的结果,我明白肯定是还有一个陷阱我没有发现
-
这是我找到的问题,在感觉证书没有问题了之后试了一下负数,果然有问题,因为sprintf函数将负号也转换成了字符串,所以用j计算3位的时候就会出现偏差
-
AC
-
自查表
-
(这个程序还不算太复杂用a,b,c应该还可以吧)
-
以上划对勾的表示做到了
4.Git 提交
中途遇到了fatal: remote origin already exists
后来在网上查到git remote rm origin才解决了问题
其实我还有个疑问,除了在初始化仓库的时候需要用到git shell,gitThub desktop只需要复制然后publish一下也可以做到不用网页上传代码,这样是不是更简单一些呢?虽然有些时候好像找不到public 只有sync