Linux
- windows mingw下sudo apt-get 不能使用。
- linux下git clone不能直接使用,需要先安装git:sudo apt-get git
C
- 分数化小数
输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b<=10^6,c<=100.输入包含多组数据,结束标记为a=b=c=0。
样例输入:
1 6 4
0 0 0
样例输出:
Case 1 : 0.1667
分析:有一种简单处理但只适用于c < 20的情况,即利用printf(“%.*f,c,(double)a/b).下面是更准确的版本
// 分数化小数
#include <stdio.h>
// long long fb(int n);
int Cal(int a,int b,int c);
int main(){
// double a,b;
freopen("data.in","r",stdin);
int a,b,c,count = 1;
while (scanf("%d%d%d", &a, &b, &c) == 3 && (a !=0 || b != 0 || c != 0)){
printf("Case %d : ", count);
Cal(a,b,c);
count ++;
}
return 0;
}
int Cal(int a,int b,int c){
printf("%d.", a / b);
a = a % b * 10;
while (c-- > 1){
printf("%d", a/b);
a = a % b * 10;
}
// 处理最后一位数
int tem = a / b; // 先将商缓存
a = a % b * 10;
if ((a / b) < 5){
printf("%d\n", tem);
}else{
printf("%d\n", tem+1);
}
return 0;
}
- 排列
题目:用1,2,3……9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi = 1:2:3。输出所有解。提示:不必太动脑筋。
分析:先缩小x,y,z的范围,分别获取x,y,z的百分位,十分位,个位数,创建一个数组,使用标记法。
#include <stdio.h>
int main(){
for (int x =100; x<=333; x++){
int y = x*2;
int z = x*3;
int a[10] = {0};
a[x/100] = a[x%100/10] = a[x%10] = 1;
a[y/100] = a[y%100/10] = a[y%10] = 1;
a[z/100] = a[z%100/10] = a[z%10] = 1;
int sum = 0;
for (int i = 1; i<10;i++){
// printf("%d", a[i]);
sum += a[i];
}
// printf("\n");
if (sum == 9){
printf("%d %d %d\n", x,y,z);
}
}
return 0;
}
github
1.在github上创建一个库 2.在本地git clone时 有两种地址格式:git-ssh协议,https协议 3.在本地添加一些文件,然后在windows mingw下使用 git add时会出现CRLF will replaced by LF,原因是两个系统的换行符不一样,windows换行符是\r\n,linux是\n