目录
【入门3】循环结构 - 题单 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
找最小值
- 注意找最小值,最小值应初始化为一个较大的数;
- 找最大值,最大值应初始化为一个较小的数。
int n,a[100],min=1000; //初始化为较大的数。
cin >> n;
for (int i = 0; i < n; i++)
cin >> a[i];
for (int i = 0; i < n; i++)
{
if (a[i] < min)
min = a[i];
}
cout << min;
分类平均
int n, k,sum1=0,sum2=0;
double ave1=0, ave2=0;
cin >> n >> k;
for (int i = 1; i <= n; i++)
{
if (i%k == 0)
{
ave1 += i;
sum1++;
}
if (i%k != 0)
{
ave2 += i;
sum2++;
}
}
ave1 /= sum1;
ave2 /= sum2;
printf("%.1lf %.1lf", ave1, ave2);
一尺之棰
int a,sum=1;
cin >> a;
while (1)
{
if (a == 1)
break;
a /= 2;
sum++;
}
cout << sum;
数字直角三角形
- 前导0 可以用%02d
#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
int main() {
int n, sum = 0, k;
cin >> n;
k = n;//设置k 不然下面的i<=(n的表达式)这里的n也跟着变化。
//注意这个中间量设置,以后还会有很多题涉及到这种原值变化,但是后来的运算还要用到原值,这时,一定要一开始用一个变量等于原值。
for (int i = 1; i <= (n+1)*n/2; i++)
{
printf("%02d", i);
sum++;
if (sum == k)
{
sum = 0;//注意sum=0的位置
cout << endl;
k--;
}
}
return 0;
}
阶乘之和
高精度
#include<iostream>
#include<iomanip>
#include<math.h>
#include<algorithm>
#include<string>
#include<cstring>
#include<stdio.h>
using namespace std;
int a[101] = { 0 }, b[101] = { 0 };
void mul(int x)//乘
{
int y = 0;
for (int i = 100; i >= 0; i--)
{
a[i] = a[i] * x + y; //a[101]除了a[100]其他都是初始化为0,之后每次进位都必须只根据上一位即y进位。除了第一位要利用x。
y = a[i] / 10;//y是进位
a[i] = a[i] % 10;
}
}
void add( )//加
{
int y = 0;
for (int i = 100; i >= 0; i--)
{
b[i] = b[i] +a[i] + y;
y = b[i] / 10; //y是进位
b[i] = b[i] % 10;
}
}
int main()
{
int n,i,w;
cin >> n;
a[100] = b[100] = 1;
for (i = 2; i <= n; i++)
{
mul(i); //从小到大运行,每算出一个就加上 2! 下次运算从2!*3 即3!来算。
add();
}
int m = 0;
while (b[m] == 0) m++;//去掉末尾0
for (int i = m; i <= 100; i++)
cout << b[i];
return 0;
}

本文介绍了编程中的一些基础概念和算法应用,包括寻找最小值、分类平均、数学问题如阶乘之和、高精度计算、计数问题、级数求和等。还涉及到了一些特定的算法挑战,如回文数、质数判断、数字处理和序列生成。通过实例展示了如何解决这些问题,是学习编程和算法的好资源。
最低0.47元/天 解锁文章
2846

被折叠的 条评论
为什么被折叠?



