diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/30.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/30.exercises/solution.md"
index 1e47166754216293c10fb74ee450a5988a04cfff..555211e1130c2c47ccb63f3c01777a409e724ec9 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/30.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/30.exercises/solution.md"
@@ -2,7 +2,7 @@
1,2,4,2,3,6,12,6,3,....求第n项值
-## template
+以下程序实现了这一功能,请你填补空白处内容:
```cpp
#include
@@ -50,16 +50,70 @@ int main()
}
```
-## 答案
+## template
```cpp
-for (i = 2; i <= (*y); i++)
+#include
+int fun(int n, int *x, int *y)
+{
+ int sum = 0, i;
+ int size = 0;
+ int dd = 1;
+ for (i = 1; i <= (*x); i++)
+ {
+ sum += (2 * i - 1);
+ }
+ if (sum == n)
+ {
+ *y = 2 * (*x) - 1;
+ return (*x);
+ }
+ else if (sum > n)
{
- if (i <= (*x))
- dd *= 2;
- else
- dd /= 2;
+ (*y) = n - (sum - (2 * (*x) - 1));
+ size = 2 * (*x) - 1;
+ dd = (*x);
+ for (i = 2; i <= (*y); i++)
+ for (i = 2; i <= (*y); i++)
+ {
+ if (i <= (*x))
+ dd *= 2;
+ else
+ dd /= 2;
+ }
+ return dd;
}
+ else
+ {
+ (*x)++;
+ return fun(n, x, y);
+ }
+}
+int main()
+{
+ int n;
+ int row = 1, col = 0;
+ int val;
+ row = 1;
+ col = 0;
+ printf("请输入n:");
+ scanf("%d", &n);
+ val = fun(n, &row, &col);
+ printf("第%d项是:%d\n", n, val);
+ return 0;
+}
+```
+
+## 答案
+
+```cpp
+for (i = 2; i <= (*y); i++)
+{
+ if (i <= (*x))
+ dd *= 2;
+ else
+ dd /= 2;
+}
```
## 选项
@@ -68,34 +122,34 @@ for (i = 2; i <= (*y); i++)
```cpp
for (i = 2; i <= (*y); i++)
- {
- if (i <= (*x))
- dd /= 2;
- else
- dd *= 2;
- }
+{
+ if (i <= (*x))
+ dd /= 2;
+ else
+ dd *= 2;
+}
```
### B
```cpp
for (i = 2; i <= (*y); i++)
- {
- if (i <= (*x))
- dd += 2;
- else
- dd -= 2;
- }
+{
+ if (i <= (*x))
+ dd += 2;
+ else
+ dd -= 2;
+}
```
### C
```cpp
for (i = 2; i <= (*y); i++)
- {
- if (i <= (*x))
- dd -= 2;
- else
- dd += 2;
- }
+{
+ if (i <= (*x))
+ dd -= 2;
+ else
+ dd += 2;
+}
```
\ No newline at end of file
diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/31.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/31.exercises/solution.md"
index b0ff0d9ab30906a350fa5064d9b50dc6220703f2..fa225fa65f155d2240160a92148dd9ef6d58a5d1 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/31.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/31.exercises/solution.md"
@@ -2,7 +2,7 @@
例如:字符串中的内容为:a1Ab1D2,1
@@ -25,6 +25,29 @@ int main()
}
```
+## template
+
+```cpp
+#include
+#include
+using namespace std;
+int solve(string s)
+{
+ if (s.length() == 0) return 0;
+ int n = 0;
+ for (int i = 1; i < s.length(); i++)
+ if (s.c_str()[i] < s.c_str()[i - 1]) n++;
+ return n;
+}
+int main()
+{
+ string s = "a1Ab1D2";
+ int n = solve(s);
+ cout << n << endl;
+ return 0;
+}
+```
+
## 答案
```cpp
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/1.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/1.exercises/solution.md"
index 98bd412192c3bf6c219ab104ce179036a2c7cd02..57521b8d48dcf0cded4221ee76c680454ea78006 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/1.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/1.exercises/solution.md"
@@ -1,15 +1,63 @@
# 移动字符串
给定一个字符串长度为 nn 的字符串 s1 (10
+#include
+using namespace std;
+void reverse(char *a, int start, int end)
+{
+ int i, j, temp;
+ for (i = start, j = end; i < j; i++, j--)
+ {
+ temp = a[i];
+ a[i] = a[j];
+ a[j] = temp;
+ }
+}
+void turnleft(char *a, int i, int n)
+{
+ int left = i % n;
+ if (left == 0)
+ return;
+ ______________;
+ return;
+}
+int main()
+{
+ char a[1024];
+ int i;
+ cin >> i;
+ cin >> a;
+ int n = strlen(a);
+ turnleft(a, i, n);
+ cout << a << endl;
+}
+```
## template
@@ -32,7 +80,9 @@ void turnleft(char *a, int i, int n)
int left = i % n;
if (left == 0)
return;
- ______________
+ reverse(a, 0, left - 1);
+ reverse(a, left, n - 1);
+ reverse(a, 0, n - 1);
return;
}
int main()
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/10.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/10.exercises/solution.md"
index 4131997fc9abdfca5bdc55c1b9019d8e46949b7f..bbbac7efe6d4cd7ac06ddd9c9fc96a45d82b680e 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/10.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/10.exercises/solution.md"
@@ -2,39 +2,70 @@
一个数如果恰好等于它的所有因子之和,这个数就称为“完数”。统计自然数 1 — 100 间完数的个数。
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+int perfect()
+{
+ int i, x, sum, cnt = 0;
+ for (i = 1; i <= 100; i++)
+ {
+ sum = 0;
+ for (x = 1; x < i; x++)
+ {
+ _____________;
+ }
+ if (i == sum)
+ {
+ cnt++;
+ printf("%d ", i);
+ }
+ }
+ return cnt;
+}
+int main()
+{
+ printf("\ncount=%d\n", perfect());
+ return 0;
+}
+```
+
## template
```cpp
-#include
+#include
int perfect()
{
- int i,x,sum,cnt=0;
- for(i=1;i<=100;i++)
- {
- sum=0;
- for(x=1;x
+#include
+int main()
+{
+ int n, i, j, t;
+ scanf("%d", &n);
+ int *a = (int *)malloc(n * sizeof(int));
+ for (i = 0; i < n; i++)
+ {
+ scanf("%d", &a[i]);
+ }
+ int cout = 0;
+ for (i = 0; i < n; i++)
+ {
+ for (j = i + 1; j < n; j++)
+ {
+ for (t = 0; t < n; t++)
+ ____________;
+ }
+ }
+ printf("%d", cout);
+ free(a);
+ return 0;
+}
+```
+
## template
```cpp
@@ -19,33 +58,34 @@
#include
int main()
{
- int n,i,j,t;
- scanf("%d",&n);
- int* a = (int*)malloc(n*sizeof(int));
- for(i=0;i= a[t])
+ cout++;
```
### C
```cpp
-
+if (a[i] + a[j] < a[t])
+ cout++;
```
\ No newline at end of file
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/12.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/12.exercises/solution.md"
index 7434c9c6a6407f6f5abce46c814357a54b8165c0..698eeb91d2d19d344c4b79ccaee8596ff1d83301 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/12.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/12.exercises/solution.md"
@@ -1,20 +1,34 @@
# 难倒数万人的小学数学题
汉堡包在大街上大摇大摆的走着,看着手机上一道难倒数万人的小学数学题:
+
+```json
1 + 1 = 0
1 + 6 = 1
6 + 6 = 2
8 + 1 = 2
8 + 6 = 3
+```
+
汉堡包看完之后发现上面这些加法的答案就是看1,6,8中圈圈的个数嘛!
+
突然之间,所有大厦上的LED屏幕上的广告全部变成数字1,6,8三个数字的随机闪现。
+
现给你一块n*m的LED屏幕,上面有且仅有一个数字(1,6,or 8),请你输出你看见的那个字母。
-输入格式:
+
+**输入格式:**
+
第一行输入两个整数n,m(2<= m, n <= 1000);
+
接下来n行,每行由m个数字0和1组成,其中1表示数字1,6,8的组成部分。
-输出格式:
+
+**输出格式:**
+
输出一个整数,代表图形表示的数字。
-输入样例:
+
+**输入样例:**
+
+```json
7 7
0 0 0 0 0 0 0
0 0 1 1 1 0 0
@@ -23,8 +37,56 @@
0 0 1 0 1 0 0
0 0 1 1 1 0 0
0 0 0 0 0 0 0
-输出样例:
+```
+
+**输出样例:**
+
+```json
8
+```
+
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+using namespace std;
+int main()
+{
+ int i, j, k = 1;
+ int n, m;
+ int num[1010] = {0};
+ int num_cmp = 0;
+ int flag = 1;
+ int led[1005][1005];
+ cin >> n >> m;
+ for (i = 1; i <= n; i++)
+ {
+ for (j = 1; j <= m; j++)
+ {
+ cin >> led[i][j];
+ if (led[i][j] == 1)
+ num[k]++;
+ }
+ if (num[k] != 0)
+ k++;
+ }
+ num_cmp = num[k - 1];
+ ______________________;
+ if (flag == 1)
+ cout << "1" << endl;
+ else if (flag == 2)
+ cout << "8" << endl;
+ else
+ cout << "6" << endl;
+ return 0;
+}
+```
## template
@@ -37,39 +99,56 @@
#include
#include
using namespace std;
-int main(){
- int i,j,k=1;
- int n,m;
- int num[1010]={0};
- int num_cmp=0;
- int flag=1;
- int led[1005][1005];
- cin >> n >> m;
- for(i=1;i<=n;i++){
- for(j=1;j<=m;j++){
- cin >> led[i][j];
- if(led[i][j]==1) num[k]++;
- }
- if(num[k]!=0)k++;
- }
- num_cmp=num[k-1];
- for(i=k-1;i>0;i--){
- if(num[i]> n >> m;
+ for (i = 1; i <= n; i++)
+ {
+ for (j = 1; j <= m; j++)
+ {
+ cin >> led[i][j];
+ if (led[i][j] == 1)
+ num[k]++;
+ }
+ if (num[k] != 0)
+ k++;
+ }
+ num_cmp = num[k - 1];
+ for (i = k - 1; i > 0; i--)
+ {
+ if (num[i] < num_cmp)
+ {
+ flag++;
+ num_cmp = num[i];
+ }
+ }
+ if (flag == 1)
+ cout << "1" << endl;
+ else if (flag == 2)
+ cout << "8" << endl;
+ else
+ cout << "6" << endl;
+ return 0;
}
```
## 答案
```cpp
-
+for (i = k - 1; i > 0; i--)
+{
+ if (num[i] < num_cmp)
+ {
+ flag++;
+ num_cmp = num[i];
+ }
+}
```
## 选项
@@ -77,17 +156,36 @@ int main(){
### A
```cpp
-
+for (i = k - 1; i > 0; i--)
+{
+ if (num[i] < num_cmp)
+ {
+ flag++;
+ }
+}
```
### B
```cpp
-
+for (i = k - 1; i > 0; i--)
+{
+ if (num[i] < num_cmp)
+ {
+ num_cmp = num[i];
+ }
+}
```
### C
```cpp
-
+for (i = k - 1; i > 0; i--)
+{
+ if (num[i] > num_cmp)
+ {
+ flag++;
+ num_cmp = num[i];
+ }
+}
```
\ No newline at end of file
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/13.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/13.exercises/solution.md"
index d955dee7c03c7ab16c1a463c2e3e5f672c84a9bf..354b34b7538bdb8d1a5bf6ab537ec30d1ae5da1a 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/13.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/13.exercises/solution.md"
@@ -1,46 +1,85 @@
# 约分
编写程序,要求用户输入一个分数,然后将其约分为最简式。如:
+
输入一个分数:8/12
+
最简分式:2/3
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+#include
+int main()
+{
+ int a, b, x, y, c;
+ printf("输入一个分式:");
+ scanf("%d/%d", &a, &b);
+ _________________;
+ while (c)
+ {
+ x = y;
+ y = c;
+ c = x % y;
+ }
+ if (b / y != 1)
+ printf("最简分式为:%d/%d", a / y, b / y);
+ else
+ printf("最简分式为:%d", a / y);
+ return 0;
+}
+```
+
## template
```cpp
-#include
-#include
+#include
+#include
int main()
{
- int a,b,x,y,c;
- printf("输入一个分式:");
- scanf("%d/%d",&a,&b);
- if(a
+#include
+#include
+int cmp(const void *a, const void *b)
+{
+ return strcmp(*(char **)a, *(char **)b);
+}
+int main(int argc, char *argv[])
+{
+ int n = 0;
+ int i;
+ printf("how many words?\n");
+ scanf("%d", &n);
+ char **s = new char *[n];
+ for (i = 0; i < n; i++)
+ {
+ s[i] = new char[100];
+ scanf("%s", s[i]);
+ char *t = s[i];
+ while (*t != '\0')
+ {
+ _______________;
+ }
+ }
+ qsort(s, n, sizeof(char *), cmp);
+ for (i = 0; i < n; i++)
+ {
+ printf("%s\n", s[i]);
+ }
+ return 0;
+}
+```
+
## template
```cpp
- #include
+#include
#include
#include
-int cmp(const void * a, const void * b)
+int cmp(const void *a, const void *b)
{
- return strcmp(*(char **)a, *(char **)b);
+ return strcmp(*(char **)a, *(char **)b);
}
-int main(int argc, char* argv[])
+int main(int argc, char *argv[])
{
- int n = 0;
- int i;
- printf("how many words?\n");
- scanf("%d", &n);
- char ** s = new char *[n];
- for (i = 0; i < n; i++)
- {
- s[i] = new char[100];
- scanf("%s", s[i]);
- char * t = s[i];
- while (*t != '\0')
- {
- if (t == s[i] && (*t >= 'a' && *t <= 'z')) *t = *t - 'a' + 'A';
- if (t > s[i] && (*t >= 'A' && *t <= 'Z')) *t = *t - 'A' + 'a';
- t++;
- }
- }
- qsort(s, n, sizeof(char *), cmp);
- for (i = 0; i < n; i++)
- {
- printf("%s\n", s[i]);
- }
- return 0;
+ int n = 0;
+ int i;
+ printf("how many words?\n");
+ scanf("%d", &n);
+ char **s = new char *[n];
+ for (i = 0; i < n; i++)
+ {
+ s[i] = new char[100];
+ scanf("%s", s[i]);
+ char *t = s[i];
+ while (*t != '\0')
+ {
+ if (t == s[i] && (*t >= 'a' && *t <= 'z'))
+ *t = *t - 'a' + 'A';
+ if (t > s[i] && (*t >= 'A' && *t <= 'Z'))
+ *t = *t - 'A' + 'a';
+ t++;
+ }
+ }
+ qsort(s, n, sizeof(char *), cmp);
+ for (i = 0; i < n; i++)
+ {
+ printf("%s\n", s[i]);
+ }
+ return 0;
}
```
## 答案
```cpp
-
+if (t == s[i] && (*t >= 'a' && *t <= 'z'))
+ *t = *t - 'a' + 'A';
+if (t > s[i] && (*t >= 'A' && *t <= 'Z'))
+ *t = *t - 'A' + 'a';
+t++;
```
## 选项
@@ -51,17 +93,29 @@ int main(int argc, char* argv[])
### A
```cpp
-
+if (t == s[i] && (*t >= 'a' && *t <= 'z'))
+ t = t - 'a' + 'A';
+if (t > s[i] && (*t >= 'A' && *t <= 'Z'))
+ t = t - 'A' + 'a';
+t++;
```
### B
```cpp
-
+if (t == s[i] && (*t >= 'a' && *t <= 'z'))
+ t = t - 'A' + 'a';
+if (t > s[i] && (*t >= 'A' && *t <= 'Z'))
+ t = t - 'a' + 'A';
+t++;
```
### C
```cpp
-
+if (t == s[i] && (*t >= 'a' && *t <= 'z'))
+ *t = *t - 'A' + 'a';
+if (t > s[i] && (*t >= 'A' && *t <= 'Z'))
+ *t = *t - 'a' + 'A';
+t++;
```
\ No newline at end of file
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/15.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/15.exercises/solution.md"
index fa91f80c84a58eefba35b07c645e03749f026d3d..dea7371ba5d385f3cb32296dc217544f74b4b1e0 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/15.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/15.exercises/solution.md"
@@ -1,22 +1,62 @@
# 国名排序
-【字符数组】国名排序
-Description:
+**题目描述:**
+
小李在准备明天的广交会,明天有来自世界各国的客房跟他们谈生意,小李要尽快的整理出名单给经理,你能帮他把客户来自的国家按英文字典次序排好吗?
例如小李手上有来自加拿大,美国,中国的名单,排好的名单应是美国,加拿大,中国
-Input
- 第一行为一个n(n<=100)表示n个国家,第2行到第n+1行分别为n个国家的名字.
-Output
- 输出共计n行,为n个国家按字典顺序的排列,每行为一个国家
-Sample Input:
- 3
- China
- Canada
- America
-Sample Output:
- America
- Canada
- China
+
+**输入**
+
+第一行为一个n(n<=100)表示n个国家,第2行到第n+1行分别为n个国家的名字.
+
+**输出**
+
+输出共计n行,为n个国家按字典顺序的排列,每行为一个国家
+
+**输入样例:**
+
+```json
+3
+China
+Canada
+America
+```
+
+**输出样例:**
+
+```json
+America
+Canada
+China
+```
+
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+#include
+using namespace std;
+string a[1000];
+int main()
+{
+ int i, n;
+ cin >> n;
+ for (i = 1; i <= n; i++)
+ {
+ cin >> a[i];
+ }
+ for (i = 1; i <= n; i++)
+ {
+ for (int j = i + 1; j <= n; j++)
+ {
+ _________;
+ }
+ }
+ for (int i = 1; i <= n; i++)
+ cout << a[i] << endl;
+ return 0;
+}
+```
## template
@@ -27,30 +67,31 @@ using namespace std;
string a[1000];
int main()
{
- int i,n;
- cin>>n;
- for(i=1; i<=n; i++)
- {
- cin>>a[i];
- }
- for(i=1;i<=n;i++)
- {
- for(int j=i+1;j<=n;j++)
- {
- if(a[i]>a[j])
- swap(a[i],a[j]);
- }
- }
- for(int i=1;i<=n;i++)
- cout<> n;
+ for (i = 1; i <= n; i++)
+ {
+ cin >> a[i];
+ }
+ for (i = 1; i <= n; i++)
+ {
+ for (int j = i + 1; j <= n; j++)
+ {
+ if (a[i] > a[j])
+ swap(a[i], a[j]);
+ }
+ }
+ for (int i = 1; i <= n; i++)
+ cout << a[i] << endl;
+ return 0;
}
```
## 答案
```cpp
-
+if (a[i] > a[j])
+ swap(a[i], a[j]);
```
## 选项
@@ -58,17 +99,20 @@ int main()
### A
```cpp
-
+if (a[i] < a[j])
+ swap(a[i], a[j]);
```
### B
```cpp
-
+if (a[i] <= a[j])
+ swap(a[i], a[j]);
```
### C
```cpp
-
+if (a[i] == a[j])
+ swap(a[i], a[j]);
```
\ No newline at end of file
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/16.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/16.exercises/solution.md"
index 72625aa4e00d3b8e46cfaa86c4a010fe0596d9fe..445a43553dcac54bf459104f2a87ed0fb7c29488 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/16.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/16.exercises/solution.md"
@@ -2,34 +2,58 @@
目前有一个长度为 n 的木棍,当做直角三角形的斜边。A,B,C要从许多整数长度的木棍中选出三根,分别长为 a, b, c。 现在,蒜头君和花椰妹的木棍组成一条直角边长度为 a + b,白菜君组成另外一条直角边 c,并且要求 a + b ≤ c。请问一共可以有多少种取木棍的方案。 提示:a = 3, b = 4 与 a = 4, b = 3 算作同一种方案。
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+int main()
+{
+ int n;
+ int cnt = 0;
+ scanf("%d", &n);
+ for (int a = 1; a < n; a++)
+ _______________;
+ printf("一共有%d种方案", cnt);
+ return 0;
+}
+```
+
## template
```cpp
#include
int main()
{
- int n;
- int cnt = 0;
- scanf("%d", &n);
- for (int a = 1; a < n; a++)
- for (int b = a; b < n - a; b++)
- for (int c = 1; c < n; c++)
- {
- if ((a+b)*(a+b)+c*c==n*n)
- {
- printf("a=%d b=%d c=%d\n", a, b, c);
- cnt++;
- }
- }
- printf("一共有%d种方案", cnt);
- return 0;
+ int n;
+ int cnt = 0;
+ scanf("%d", &n);
+ for (int a = 1; a < n; a++)
+ for (int b = a; b < n - a; b++)
+ for (int c = 1; c < n; c++)
+ {
+ if ((a + b) * (a + b) + c * c == n * n)
+ {
+ printf("a=%d b=%d c=%d\n", a, b, c);
+ cnt++;
+ }
+ }
+ printf("一共有%d种方案", cnt);
+ return 0;
}
```
## 答案
```cpp
-
+for (int b = a; b < n - a; b++)
+ for (int c = 1; c < n; c++)
+ {
+ if ((a + b) * (a + b) + c * c == n * n)
+ {
+ printf("a=%d b=%d c=%d\n", a, b, c);
+ cnt++;
+ }
+ }
```
## 选项
@@ -37,17 +61,41 @@ int main()
### A
```cpp
-
+for (int b = a; b < n - a; b++)
+ for (int c = 1; c < n; c++)
+ {
+ if ((a + b) * (a + b) + c * c >= n * n)
+ {
+ printf("a=%d b=%d c=%d\n", a, b, c);
+ cnt++;
+ }
+ }
```
### B
```cpp
-
+for (int b = a; b < n - a; b++)
+ for (int c = 1; c < n; c++)
+ {
+ if ((a + b) * (a + b) + c * c <= n * n)
+ {
+ printf("a=%d b=%d c=%d\n", a, b, c);
+ cnt++;
+ }
+ }
```
### C
```cpp
-
+for (int b = a; b < n - a; b++)
+ for (int c = 1; c < n; c++)
+ {
+ if ((a + b) * (a + b) + c * c > n * n)
+ {
+ printf("a=%d b=%d c=%d\n", a, b, c);
+ cnt++;
+ }
+ }
```
\ No newline at end of file
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/17.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/17.exercises/solution.md"
index f4c518701c47f2f6208020e687d0f9c95335df5f..66218540b7994a4b840d41fed3fc3d8d10afcc25 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/17.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/17.exercises/solution.md"
@@ -10,42 +10,88 @@
输出
输出共一行 m 个整数,表示每回合报出的编号,每两个整数之间一个空格,最后一个数后面没有空格。
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+#include
+#include
+#include
+using namespace std;
+int ai[100010], qi[100010];
+int main()
+{
+ int a, q;
+ while (cin >> a >> q)
+ {
+ for (int i = 0; i < a; i++)
+ cin >> ai[i];
+ for (int i = 0; i < q; i++)
+ cin >> qi[i];
+ for (int i = 0; i < q; i++)
+ {
+ int left = 0, right = a - 1, mid;
+ while (left < right)
+ {
+ mid = (left + right) >> 1;
+ if (ai[mid] <= qi[i])
+ left = mid + 1;
+ else
+ right = mid;
+ }
+ _______________________;
+ i ? cout << " " << ai[left - 1] : cout << ai[left - 1];
+ }
+ cout << endl;
+ }
+ return 0;
+}
+```
+
## template
```cpp
-#include
-#include
-#include
-#include
+#include
+#include
+#include
+#include
using namespace std;
int ai[100010], qi[100010];
int main()
{
- int a, q;
- while (cin >> a >> q)
- {
- for (int i = 0; i < a; i++)cin >> ai[i];
- for (int i = 0; i < q; i++)cin >> qi[i];
- for (int i = 0; i < q; i++) {
- int left = 0, right = a - 1, mid;
- while (left < right) {
- mid = (left + right) >> 1;
- if (ai[mid] <= qi[i])left = mid + 1;
- else right = mid;
- }
- if (left - 1 < 0 || ai[left] < qi[i])left++;
- i ? cout << " " << ai[left - 1] : cout << ai[left - 1];
- }
- cout << endl;
- }
- return 0;
+ int a, q;
+ while (cin >> a >> q)
+ {
+ for (int i = 0; i < a; i++)
+ cin >> ai[i];
+ for (int i = 0; i < q; i++)
+ cin >> qi[i];
+ for (int i = 0; i < q; i++)
+ {
+ int left = 0, right = a - 1, mid;
+ while (left < right)
+ {
+ mid = (left + right) >> 1;
+ if (ai[mid] <= qi[i])
+ left = mid + 1;
+ else
+ right = mid;
+ }
+ if (left - 1 < 0 || ai[left] < qi[i])
+ left++;
+ i ? cout << " " << ai[left - 1] : cout << ai[left - 1];
+ }
+ cout << endl;
+ }
+ return 0;
}
```
## 答案
```cpp
-
+if (left - 1 < 0 || ai[left] < qi[i])
+ left++;
```
## 选项
@@ -53,17 +99,20 @@ int main()
### A
```cpp
-
+if (left - 1 < 0)
+ left++;
```
### B
```cpp
-
+if (ai[left] < qi[i])
+ left++;
```
### C
```cpp
-
+if (left - 1 < 0 && ai[left] < qi[i])
+ left++;
```
\ No newline at end of file
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/18.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/18.exercises/solution.md"
index d99ab4dff7c0ddac05696a9a73b2478cfc0d38a4..14ba51dd34010e76c6e1c9470aec7d746229e2a8 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/18.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/18.exercises/solution.md"
@@ -1,17 +1,76 @@
# 不喜欢带钱的小C
-题目描述:
+**题目描述:**
+
小C不喜欢带钱,有一次竟被他碰上了一家不能使用移动支付(也不能找钱)的神秘商店。请问小C至少准备多少张RMB才能恰好支付n元。RMB的面额有100元,50元,20元,10元,5元,1元。
-输入格式:
+
+**输入格式:**
+
输入一个整数n
-输出格式:
+
+**输出格式:**
+
最少带几张。
-样例输入1:
+
+**样例输入1:**
+
+```json
50
-样例输出1:
+```
+
+**样例输出1:**
+
+```json
1
-约定:
+```
+
+**约定:**
+
+```json
1<=n<=100
+```
+
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+using namespace std;
+int solve(int tar, int * meta, int metan, int * seed = NULL, int seedn = 0)
+{
+ if (tar == 0)
+ {
+ return seedn;
+ }
+ int min = -1;
+ int m;
+ int * seed1 = new int[seedn + 1];
+ if (seed)
+ memcpy(seed1, seed, sizeof(int) * seedn);
+ for (int i = 0; i < metan; i++)
+ {
+ if (meta[i] <= tar)
+ {
+ seed1[seedn] = meta[i];
+ _____________________;
+ if (m != -1 && (min == -1 || min > m))
+ min = m;
+ break;
+ }
+ }
+ delete[] seed1;
+ return min;
+}
+int main()
+{
+ int arr[] = { 100, 50, 20, 10, 5, 1 };
+ int n = 6;
+ int total;
+ cin >> total;
+ int result = solve(total, arr, n);
+ cout << result << endl;
+ return 0;
+}
+```
## template
@@ -58,7 +117,7 @@ int main()
## 答案
```cpp
-
+m = solve(tar - meta[i], meta, metan, seed1, seedn + 1);
```
## 选项
@@ -66,17 +125,17 @@ int main()
### A
```cpp
-
+m = solve(tar - meta[i], meta, metan, seed1, seedn);
```
### B
```cpp
-
+m = solve(tar + meta[i], meta, metan, seed1, seedn);
```
### C
```cpp
-
+m = solve(tar + meta[i], meta, metan, seed1, seedn + 1);
```
\ No newline at end of file
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/2.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/2.exercises/solution.md"
index ebe26578b0364a25a0aa46b1e5fa9bb1e9ebe5e8..ab21c82353df2222eaf22cb3efdf759ca5ef3278 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/2.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/2.exercises/solution.md"
@@ -1,10 +1,18 @@
# 数字归类
-题目描述
+**题目描述**
+
一个数里面若含有数字1,则归类到1字类,含有数字2,则归类到2字类,所以一个数可能同时归类到不同的数字类。对于0、1、2、3、4、5、6、7、8、9这十个数字类,因研究需要,急于想知道某一堆数中,究竟归类到这些数字类的个数。
-样例输入
+
+**样例输入**
+
+```json
123 456 175 2 61 9998 12 5053 382
-样例输出
+```
+
+**样例输出**
+
+```json
0: 1
1: 4
2: 4
@@ -15,9 +23,41 @@
7: 1
8: 2
9: 1
+```
+
提示
+
注意:输出结果中冒号后面有空格
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+#include
+int result[10];
+int main(void)
+{
+ memset(result, 0, sizeof(int) * 10);
+ int n;
+ int arr[10];
+ while (scanf("%d", &n) != EOF)
+ {
+ memset(arr, 0, sizeof(int) * 10);
+ if (n == 0)
+ arr[0] = 1;
+ while (n > 0)
+ {
+ ____________;
+ }
+ for (int i = 0; i < 10; i++)
+ result[i] += arr[i];
+ }
+ for (int i = 0; i < 10; i++)
+ printf("%d: %d\n", i, result[i]);
+ return 0;
+}
+```
+
## template
```cpp
@@ -36,7 +76,8 @@ int main(void)
arr[0] = 1;
while (n > 0)
{
- ____________
+ arr[n % 10] = 1;
+ n = n / 10;
}
for (int i = 0; i < 10; i++)
result[i] += arr[i];
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/3.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/3.exercises/solution.md"
index 5391420f6594e80213e2baf1009357ab4939d321..d5112dbb987e780aa2cded0b5f658f6b180becf4 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/3.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/3.exercises/solution.md"
@@ -1,14 +1,41 @@
# 利用字母组成图形
利用字母可以组成一些美丽的图形,下面给出了一个例子:
+
+```json
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
+```
+
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
+
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+#include
+int main()
+{
+ int m, n;
+ scanf("%d%d", &n, &m);
+ int i, j;
+ for (i = 0; i < n; i++)
+ {
+ for (j = 0; j < m; j++)
+ {
+ ______________;
+ }
+ printf("\n");
+ }
+ return 0;
+}
+```
+
## template
```cpp
@@ -23,7 +50,7 @@ int main()
{
for (j = 0; j < m; j++)
{
- ______________
+ printf("%c", 65 + abs(i - j));
}
printf("\n");
}
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/4.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/4.exercises/solution.md"
index 4e58868c8ae196ace419086e3a15eb04353f18f8..eb9b298b4ddfc7233b40ec808008874a80d47374 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/4.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/4.exercises/solution.md"
@@ -5,6 +5,31 @@
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+int main()
+{
+ int a[10], i, n;
+ int isfind = 0;
+ printf("please set array values:");
+ for (i = 0; i < 10; i++)
+ scanf("%d", &a[i]);
+ printf("please enter one num:");
+ scanf("%d", &n);
+ for (i = 0; i < 10; i++)
+ {
+ ______________;
+ }
+ if (isfind)
+ printf("\n");
+ else
+ printf("not find\n");
+ return 0;
+}
+```
+
## template
```cpp
@@ -20,7 +45,11 @@ int main()
scanf("%d", &n);
for (i = 0; i < 10; i++)
{
- ______________
+ if (a[i] < n)
+ {
+ isfind = 1;
+ printf("%d ", a[i]);
+ }
}
if (isfind)
printf("\n");
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/5.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/5.exercises/solution.md"
index 15b259953d1fc700a43ca958d97e060971a27fa3..ce6c18047bd1099f794707fb6213911ea900b2c1 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/5.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/5.exercises/solution.md"
@@ -15,6 +15,40 @@
9,1,1
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+int main()
+{
+ int a[6][6];
+ int m, n;
+ int i, j;
+ int max;
+ int indexx = 0, indexy = 0;
+ scanf("%d %d", &m, &n);
+ for (i = 0; i < m; i++)
+ {
+ for (j = 0; j < n; j++)
+ {
+ scanf("%d", &a[i][j]);
+ if (i == 0 && j == 0)
+ {
+ max = a[i][j];
+ indexx = 0;
+ indexy = 0;
+ }
+ else
+ {
+ _____________;
+ }
+ }
+ }
+ printf("%d,%d,%d\n", max, indexx, indexy);
+ return 0;
+}
+```
+
## template
```cpp
@@ -40,7 +74,12 @@ int main()
}
else
{
- _____________
+ if (a[i][j] > max)
+ {
+ max = a[i][j];
+ indexx = i;
+ indexy = j;
+ }
}
}
}
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/6.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/6.exercises/solution.md"
index 937e7b9176739a85514391a76046d780dd2e72dc..cb044bf52361abe6098305ea2bb0cb25be09ca34 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/6.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/6.exercises/solution.md"
@@ -2,8 +2,39 @@
已知一个浮点数A(0
+#include
+int main()
+{
+ float A = 0.2f;
+ int x = 0;
+ if (A < 0)
+ {
+ x = 1;
+ A = 1 / A;
+ }
+ float delta = 1;
+ int B = 1, C = 1;
+ do
+ {
+ ____________;
+ } while (delta > 0.000001);
+ if (x == 0)
+ printf("%d / %d", C, B - 1);
+ else
+ printf("%d / %d", B - 1, C);
+ return 0;
+}
+```
## template
@@ -23,7 +54,9 @@ int main()
int B = 1, C = 1;
do
{
- ____________
+ C = (int)(B * A);
+ delta = fabs(C / (float)B - A);
+ B++;
} while (delta > 0.000001);
if (x == 0)
printf("%d / %d", C, B - 1);
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/7.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/7.exercises/solution.md"
index 1de9536903a9f1dc64abcff231c579664a3415bb..d8245a81fe46fb16a27279e0a5be60e9eaee09f3 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/7.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/7.exercises/solution.md"
@@ -1,47 +1,107 @@
# 矩阵问题
-题目描述
+**题目描述**
+
编写以下函数:
+
(1)在一个二维数组中形成以下形式的n阶矩阵:
-```json
-[1 1 1 1 1
-2 1 1 1 1
-3 2 1 1 1
-4 3 2 1 1
-5 4 3 2 1]
-```
+ ```json
+ [1 1 1 1 1
+ 2 1 1 1 1
+ 3 2 1 1 1
+ 4 3 2 1 1
+ 5 4 3 2 1]
+ ```
(2)去掉靠边的元素,生成新的n-2阶矩阵;
+
(3)求生成的n阶矩阵主对角线上的元素之和;
+
(4)以方阵形式输出数组。
+
在main函数中调用以上函数进行测试。
-输入
+
+**输入**
+
输入生成矩阵的阶数(n>=2)
-输出
+
+**输出**
+
以方阵形式输出生成的n阶矩阵、去掉靠边的元素生成的新的n-2阶矩阵、以及生成的n阶矩阵主对角线上的元素之和,最后一行要回车
-样例输入
+
+**样例输入**
+
+```json
5
-样例输出
-Generated matrix:
+```
+
+**样例输出**
```json
+Generated matrix:
+
1 1 1 1 1
2 1 1 1 1
3 2 1 1 1
4 3 2 1 1
5 4 3 2 1
-```
+
del the elements on the side:
-```json
1 1 1
2 1 1
3 2 1
-```
The sum of the diagonal:5
+```
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+using namespace std;
+int main()
+{
+ while (1)
+ {
+ int a;
+ cin >> a;
+ int array[a][a];
+ for (int i = 0; i < a; i++)
+ for (int j = 0; j < a; j++)
+ {
+ if (j < i)
+ array[i][j] = i + 1 - j;
+ else
+ array[i][j] = 1;
+ }
+ cout << "Generated matrix:" << endl;
+ for (int i = 0; i < a; i++)
+ {
+ for (int j = 0; j < a; j++)
+ {
+ cout << array[i][j];
+ }
+ cout << endl;
+ }
+ cout << "del the elements on the side:" << endl;
+ for (int i = 1; i < a - 1; i++)
+ {
+ ________________;
+ cout << endl;
+ }
+ int sum = 0;
+ int i, j;
+ for (i = a - 2, j = 1; i >= 1; i--, j++)
+ {
+ sum += array[i][j];
+ }
+ cout << "The sum of the diagonal:" << sum << endl;
+ }
+ return 0;
+}
+```
## template
@@ -96,7 +156,10 @@ int main()
## 答案
```cpp
-
+for (int j = 1; j < a - 1; j++)
+{
+ cout << array[i][j];
+}
```
## 选项
@@ -104,17 +167,26 @@ int main()
### A
```cpp
-
+for (int j = 1; j < a - 1; j++)
+{
+ cout << array[i - 1][j - 1];
+}
```
### B
```cpp
-
+for (int j = 1; j < a - 1; j++)
+{
+ cout << array[i + 1][j + 1];
+}
```
### C
```cpp
-
+for (int j = 0; j < a; j++)
+{
+ cout << array[i][j];
+}
```
\ No newline at end of file
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/8.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/8.exercises/solution.md"
index 888e255ef29142f9a43928683e4f36f6870cc9c8..a9db8c2c84ddf684b271136ceb26a3cc7c0a4c79 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/8.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/8.exercises/solution.md"
@@ -1,64 +1,133 @@
# 偶数 or 奇数
-偶数 or 奇数
-时间限制: 1 Sec 内存限制: 128 MB
-题目描述
+**题目描述**
+
编程班老师搞了一个有 N (1 <= N <= 100) 个正整数 I (1 <= I <= 10^60) 的表,叫 同学们去统计每个数里面数字(0,1,2,3,4,5,6,7,8,9)(注 0 为偶数)的奇偶数 字个数。写一个程序读入 N 个整数,统计每个整数的数字奇偶个数。
-输入
+
+**输入**
+
第 1 行: 一个单独的整数: N
+
第 2 到第 N+1 行: 每行一个长长(小于等于 60 位)的整数,需要统计数字奇偶个数。
-输出
- 1..N 行: 第 j 行根据第 j 个整数输出奇数个数与偶数个数。
-样例输入
+
+**输出**
+
+1..N 行: 第 j 行根据第 j 个整数输出奇数个数与偶数个数。
+
+**样例输入**
+
+```json
2
1024
5931
-样例输出
+```
+
+**样例输出**
+
+```json
1 3
4 0
+```
+
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+#include
+using namespace std;
+string a[105];
+int b[105], c[105];
+int qiujishu(string x)
+{
+ int jishu = 0;
+ for (int i = 0; x.c_str()[i]; i++)
+ {
+ (1)____________;
+ }
+ return jishu;
+}
+int qiuoushu(string x)
+{
+ int oushu = 0;
+ for (int i = 0; x.c_str()[i]; i++)
+ {
+ (2)____________;
+ }
+ return oushu;
+}
+int main()
+{
+ int n;
+ cin >> n;
+ for (int i = 1; i <= n; i++)
+ {
+ cin >> a[i];
+ b[i] = qiujishu(a[i]);
+ c[i] = qiuoushu(a[i]);
+ }
+ for (int i = 1; i <= n; i++)
+ {
+ cout << b[i] << " " << c[i] << endl;
+ }
+ return 0;
+}
+```
## template
```cpp
-#include
-#include
+#include
+#include
using namespace std;
string a[105];
-int b[105],c[105];
-int qiujishu(string x){
- int jishu=0;
- for(int i = 0; x.c_str()[i]; i++){
- if ((x.c_str()[i] - '0') % 2 == 1) jishu++;
- }
- return jishu;
+int b[105], c[105];
+int qiujishu(string x)
+{
+ int jishu = 0;
+ for (int i = 0; x.c_str()[i]; i++)
+ {
+ if ((x.c_str()[i] - '0') % 2 == 1)
+ jishu++;
+ }
+ return jishu;
}
-int qiuoushu(string x){
- int oushu=0;
- for(int i = 0; x.c_str()[i]; i++){
- if ((x.c_str()[i] - '0') % 2 == 0) oushu++;
- }
- return oushu;
+int qiuoushu(string x)
+{
+ int oushu = 0;
+ for (int i = 0; x.c_str()[i]; i++)
+ {
+ if ((x.c_str()[i] - '0') % 2 == 0)
+ oushu++;
+ }
+ return oushu;
}
int main()
{
- int n;
- cin>>n;
- for(int i=1;i<=n;i++){
- cin>>a[i];
- b[i]=qiujishu(a[i]);
- c[i]=qiuoushu(a[i]);
- }
- for(int i=1;i<=n;i++){
- cout<> n;
+ for (int i = 1; i <= n; i++)
+ {
+ cin >> a[i];
+ b[i] = qiujishu(a[i]);
+ c[i] = qiuoushu(a[i]);
+ }
+ for (int i = 1; i <= n; i++)
+ {
+ cout << b[i] << " " << c[i] << endl;
+ }
+ return 0;
}
```
## 答案
```cpp
-
+(1)
+if ((x.c_str()[i] - '0') % 2 == 1)
+ jishu++;
+(2)
+if ((x.c_str()[i] - '0') % 2 == 0)
+ oushu++;
```
## 选项
@@ -66,17 +135,32 @@ int main()
### A
```cpp
-
+(1)
+if ((x.c_str()[i]) % 2 == 1)
+ jishu++;
+(2)
+if ((x.c_str()[i]) % 2 == 0)
+ oushu++;
```
### B
```cpp
-
+(1)
+if ((x.c_str()[i]) % 2 == 0)
+ jishu++;
+(2)
+if ((x.c_str()[i]) % 2 == 1)
+ oushu++;
```
### C
```cpp
-
+(1)
+if ((x.c_str()[i]) / 2 == 1)
+ jishu++;
+(2)
+if ((x.c_str()[i]) / 2 == 0)
+ oushu++;
```
\ No newline at end of file
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/9.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/9.exercises/solution.md"
index 1c793212e30ad948565e0c6e8f4ad270565c3b60..b5c2cd3b1483cf88860c51845bda7c9fdf380982 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/9.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/9.exercises/solution.md"
@@ -19,6 +19,32 @@
B 252
+以下程序实现了这一功能,请你填补空白处内容:
+
+```cpp
+#include
+using namespace std;
+int main() {
+ double n, A, B;
+ cin >> n;
+ B = 12 * 0.7 * n;
+ if (n <= 10) {
+ A = 10 * n;
+ }
+ else if (n > 10 && n <= 20) {
+ A = 10 * 10 + (n - 10) * 8.2;
+ }
+ ___________________________;
+ if (A < B) {
+ cout << "A " << A;
+ }
+ else {
+ cout << "B " << B;
+ }
+ return 0;
+}
+```
+
## template
```cpp
@@ -50,7 +76,9 @@ int main() {
## 答案
```cpp
-
+else {
+ A = 10 * 8.2 + (n - 20) * 7.5 + 10 * 10;
+}
```
## 选项
@@ -58,17 +86,23 @@ int main() {
### A
```cpp
-
+else {
+ A = 20 * 7.5;
+}
```
### B
```cpp
-
+else {
+ A = (n - 10) * 8.2 + (n - 20) * 7.5 + 10 * 10;
+}
```
### C
```cpp
-
+else {
+ A = (n - 10) * 8.2 + (n - 20) * 7.5;
+}
```
\ No newline at end of file