3.求最大公约数和最小公倍数
#include <cstdio>
int main() {
int n,m,temp,p,r;
printf("请输入两个数字:\n");
scanf("%d%d",&n,&m);
if (n < m) {
temp = n;
n = m;
m = temp;
}
p = n * m;
while (m != 0) {
r = n % m;
n = m;
m = r;
}
printf("最大公约数为:%d\n", n);
printf("最小公倍数为:%d\n", p / n);
return 0;
}
4. 统计个数
#include <cstdio>
int main() {
char ch;
int a=0,b=0,c=0,d=0;
printf("请输入一行字符:\n");
while ((ch=getchar())!='\n'){
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z'){
a++;
}
else if(ch==' '){
b++;
}
else if(ch>='0'&&ch<='9'){
c++;
}
else
d++;
}
printf("字母数为:%d\n空格数为:%d\n数字数为:%d\n其他字符为:%d\n",a,b,c,d);
return 0;
}
5.求Sn
#include <cstdio>
int main() {
int a,an,i=1,n,sum;
printf("请依次输入a,n:");
scanf("%d,%d",&a,&n);
while(i<=n){
an=an+a;
sum=sum+an;
a=a*10;
++i;
}
printf("a+aa+aaa+...=%d",sum);
return 0;
}
6.阶乘
#include <cstdio>
int main() {
double s = 0, t = 1; // 将 t 的初始值设置为 1
for (int i = 1; i <= 20; i++) {
t = t * i;
s = s + t; // 计算阶乘并累加到 s 中
}
printf("1!+2!+3!+...+20!=%22.15e\n", s);
return 0;
}
7.求和
#include <cstdio>
int main() {
double s1 = 0, s2 = 0, s3 = 0;
for (int i = 1; i <= 100; i++) {
s1 = s1 + i;
}
for (int j = 1; j <= 50; j++) {
s2 = s2 + j * j;
}
for (int k = 1; k <= 10; k++) {
s3 = s3 + 1.0 / k;
}
printf("sum=%15.6f\n", s1 + s2 + s3);
return 0;
}
8.水仙花
#include <cstdio>
int main() {
int a, b, c;
for (int i = 100; i < 1000; i++) {
a = i / 100;
b = i / 10 - a * 10;
c = i % 10;
if (i == a * a * a + b * b * b + c * c * c) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
9.找因子
#include <cstdio>
int main() {
int m, s, i, j;
for (m = 2; m < 1000; m++) {
s = 0;
for (i = 1; i < m; i++) {
if ((m % i) == 0) {
s = s + i;
}
}
if (s == m) {
printf("%d, its factors are ", m);
for (j = 1; j < m; j++) {
if (m % j == 0) {
printf("%d, ", j);
}
}
printf("\n");
}
}
return 0;
}
10.求分式数列
#include <cstdio>
int main() {
int i,n=20;
double a=2,b=1,s=0,t;
for (int i = 1; i <=n ; i++) {
s=s+a/b;
t=a;
a=a+b;
b=t;
}
printf("结果是:%16.10f\n",s);
return 0;
}
11.反弹问题
#include <cstdio>
int main() {
double s=100,a=s/2;
for (int j = 2; j <=10 ; j++) {
s=s+2*a;
a=a/2;
}
printf("第10次落地%f米\n",s);
printf("第10次反弹%f米\n",a);
return 0;
}
12.桃子问题
#include <cstdio>
int main() {
int day,x1,x2;
day=9;
x2=1;
while (day>0){
x1=(x2+1)*2;
x2=x1;
day--;
}
printf("一共有:%d",x1);
return 0;
}