19 条题解
-
19
这一道题是数组问题,还是老样子,来个数组做做摆设,先来看看思路吧~
- 定义一个数组 a,并且每一次输入时都将总数 sum 增加上加钱数(sum 要是 double 型)
- 最后判断如果总数大于 100,就将大于100的部分打折并且加上其他的100元:sum-100 * 0.9+100
- 最后输出即可~~~~~
好了!上代码!(AC过啦~)
#include <bits/stdc++.h> using namespace std; int main() { int n, a[101]; double sum = 0; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; sum += a[i]; } if (sum > 100) printf("%.2lf", (sum - 100) * 0.9 + 100); else printf("%.2lf", sum); return 0; }
-
4
这题很简单,先来看一下思路: 1,定义两个double变量(n忽略不计)sum和x,x为每件东西的价钱,每次输入时将sum增加上钱数。 2,sum比100大的打9折(乘0.9),sum比100没关系(我试过了)。 3.输出答案。
#include <bits/stdc++.h> using namespace std; int n; double x,sum; int main() { cin>>n; for (int i=1;i<=n;i++) { cin>>x; sum+=x; } cout<<fixed<<setprecision(2)<<(sum-100)*0.9+100; return 0; }
彩蛋来了
#include <bits/stdc++.h> using namespace std; int main() { cout<<199.00; }
“温馨提示”:后面是懒人操作,建议不要使用。
-
2
1.定义一个数组,double类型变量sum储存总钱数 2.计算超过100元和不超过100元需要花的钱 提示:保留小数可采用: cout << fixed << setprecision(保留位数)<< 要输出的数;
#include <bits/stdc++.h> using namespace std; int main() { int n; double a[105],sum=0; cin >> n; for (int i=1;i<=n;i++) { cin >> a[i]; sum+=a[i]; } if (sum>100) { cout << fixed << setprecision(2) << (sum-100)*0.9+100 << endl; } else { cout << fixed << setprecision(2) << sum << endl; } return 0; }
已AC
-
2
过辣!
#include <bits/stdc++.h> using namespace std; int main() { int n,a[200],sum=0; scanf("%d",&n); for (int i=1;i<=n;i++) { scanf("%d",&a[i]); sum+=a[i]; } if (sum>100)sum=(sum-100)*0.9+100; printf("%0.2f",1.0*sum);//%0.2f保留2位小数 //也可以用cout<<fixed<<setprecision(2)<<1.0*sum; return 0; }
-
2
这道题难点在于保留小数,
在iomanip库中有一个函数可以保留小数(四舍五入),
用法如下:cout<<fixed<<setprecision(保留位数)<<要输出的数;
(fixed是保留小数的英语)
上代码,AC过,放心食用!
#include<bits/stdc++.h> using namespace std; int main() { int n; double sum; cin>>n; int a[n+5]; for(int i = 1;i<=n;i++) { cin>>a[i]; sum+=a[i]; } if(sum>100) { sum = 100+(sum-100)*0.9; } cout<<fixed<<setprecision(2)<<sum; return 0; }
-
1
-
1
数组问题: 定义一个数组(每一次输入时别忘把sum加上钱数(sum为double类型) 判断总数,如果大于100,就把大于100的部分打折并加上100元 上才艺!!(先理解在抱走)
#include <bits/stdc++.h> using namespace std; int main() { int n, a[101]; double sum = 0; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; sum += a[i]; } if (sum > 100) printf("%.2lf", (sum - 100) * 0.9 + 100); else printf("%.2lf", sum); return 0; }
-
1
今天我又为大家整理了两种做法
AC代码1(推荐)
#include <bits/stdc++.h> using namespace std; int main() { int a[10], i, n; double s = 0; cin >> n; for (i = 0; i < n; i++) { cin >> a[i]; } for (i = 0; i < n; i++) { s += a[i]; } for (i = 0; i < n; i++) { if ((s > 100) && (a[i] == a[n - 1])) { cout << fixed << setprecision(2) << (s - 100) * 0.9 + 100; } } return 0; }
AC代码2(懒人必看)
#include <bits/stdc++.h> using namespace std; int main() { int a[100], n, x = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> a[i]; x += a[i]; } cout << fixed << setprecision(2) << 100 + ((x - 100) * 0.9); return 0; }
-
1
整体思路就是遍历1~n件物品,获取每件物品的价钱,并累加到sum中,循环结束后,判断一下sum是否超过100,如果超过了,就将超过的部分乘上0.9,再加上未超过的100,即为最后要付的价钱;如果没有超过,则不用计算,最后保留两位小数进行输出。
这里最重要的部分在于保留两位小数要用到
cout << fixed << setprecision(2) << sum;
要加头文件#include<iomanip> 主要代码:
for (int i = 1; i <= n; i++) //遍历1~n件物品 { cin >> a[i]; //输入每件物品的价钱 sum += a[i]; //把每件物品的价钱累加到sum中 } //超过100的部分sum-100打九折,即该部分乘上0.9,最后加上未超过的100; //没有超过的不用计算 if (sum > 100) { sum = (sum - 100) * 0.9 + 100; } //保留两位小数 cout << fixed << setprecision(2) << sum;
-
-1
鼓励大家写题解,但注意题解格式。
给代码两端加上这个会舒服一些
```cpp
你的代码
```
</span>这个点在键盘的左上角tab上面那个键,注意切换输入法
#include<iostream> using namespace std; int main() { int n; cin>>n;//这是一个注释 return 0; }
请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。
抄袭题解一经发现直接取消成绩。
- 1
信息
- ID
- 160
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 3
- 标签
- 递交数
- 1433
- 已通过
- 769
- 上传者