#include<stdio.h>intmain(){int m, n, x, y, r;scanf("%d,%d",&m,&n);
x = m;
y = n;
r = x % y;while(r !=0){
x = y;
y = r;
r = x % y;}printf("最大公约数为:%d\n", y);printf("最小公倍数为:%d\n", m * n / y);return0;}
#include<stdio.h>intmain(){int i, n;double x, y, t, sum;
sum =0;
x =2.0;
y =1.0;scanf("%d",&n);for(i =0; i < n; i++){
sum = sum + x / y;
t = x;
x = x + y;
y = t;}printf("前%d 项的和=%.4lf\n", n, sum);return0;}
#include<stdio.h>#include<math.h>intmain(){double a, b, s, x, t;int i, n;
s =0;scanf("%lf,%lf,%d",&a,&b,&n);
x =(1.0*(b - a)/ n);
t =(a + a + x)/2;for(i =0; i < n; i++){
s = s +(2*pow(t,5)+5*pow(t,3))* x;
t = t +(b - a)/ n;}printf("%.2lf\n", s);return0;}
#include<stdio.h>intmain(){int a, b, c, x;for(x =100; x <1000; x++){
a = x /100;
b = x /10%10;
c = x %100%10;if(x ==(a * a * a + b * b * b + c * c * c)){printf("%d\n", x);}}return0;}
#include<stdio.h>intmain(){int a, b, c, x;for(x =200; x <=300; x++){
a = x /100;
b = x /10%10;
c = x %100%10;if((a * b * c ==42)&&(a + b + c ==12)){printf("%d\n", x);}}return0;}
#include<stdio.h>intmain(){int x, a, b, c, i;
x =100;
i =0;for(a =1; a <12; a++){for(b =1; b <=100; b++){for(c =1; c <=200; c++){if((x == a *5+ b +0.5* c)&&(a + b + c ==100)){printf("5 元:%2d 张,\t1 元:%2d 张,\t0.5 元:%2d\n", a, b, c);
i++;}}}}printf("总共有%d 种换法\n", i);return0;}
习题05(08)n 的最大值
题目描述
编写程序求出下式中 n 的最大值:22+42+62+…+n2<m。式子左边是求和的过程,每个
加数的十位数是从 2 开始,偶数递增的,个位数固定为 2。m 由用户输入。
输入描述
m 的值(输入的 m 是一个大于 22 的值)
输出描述
满足条件的 n 的最大值。
输入样例
150
输出样例
6
#include<stdio.h>intmain(){int m, n, sum;
sum =0;
n =0;scanf("%d",&m);while(sum < m){
n = n +2;
sum = sum +10* n +2;}printf("%d\n", n -2);return0;}
习题05(09)寻找满足条件的数
题目描述
编写程序找出 m 到 n 之间所有整数中满足如下条件的数:该数的高端两位数字的和与低端
两位数字的和值相等,如 1001, 1120。程序能输出所有满足条件的数以及它们的总个数。
输入描述
m 和 n 的值,m 和 n 均为 4 四位整数,并且 m<n。
输出描述
两行,第一行为找到的所有满足条件的数,第二行为找到的数据个数。
输入样例
1000 1100
输出样例
1001 1010
2
#include<stdio.h>intmain(){int m, n, k, a, b, c, d, t;
t =0;scanf("%d%d",&m,&n);for(k = m; k <= n; k++){
a = k /1000;
b = k %1000/100;
c = k %100/10;
d = k %10;if(a + b == c + d){printf("%d ", k);
t++;}}printf("\n");printf("%d\n", t);return0;}
#include<stdio.h>intmain(){int a, b, c, d, n, t, sum, e;
a =1;
b =0;
c =0;
d =0;scanf("%d",&n);for(t =0; t <= n; t = t++){
sum = a + b + c + d;
e = a;
a = d;
d = c + d;
c = b;
b = e;printf("%d ", sum);}printf("\n");return0;}
#include<stdio.h>intmain(){int i, sum;int a[6];
sum =1;for(i =0; i <6; i++){scanf("%d",&a[i]);}for(i =0; i <6; i++){if(a[i]%2!=0|| a[i]==0){
a[i]=1;}}for(i =0; i <6; i++){
sum = sum * a[i];}printf("%d\n", sum);return0;}
习题05(12)2+22+222+…
题目描述
求 Sn=a+aa+aaa+...+a...a(n 个 a)之值,其中 a 是一个数字,n 表示 a 的个数.
输入描述
例如 2+22+222,此时 n=3,a=2,因此在输入时只需输入:2 3
注意:a 的值是 0~9
输出描述
输出 Sn 的值
输入样例
2 3
输出样例
246
#include<stdio.h>intmain(){int a, n, i, sum, b;
sum =0;scanf("%d%d",&a,&n);
b = a;if(a >=0&& a <=9){for(i =0; i < n; i++){
sum = sum + a;
a = b +10* a;}printf("%d\n", sum);}return0;}
习题05(13)求奇数的乘积
题目描述
给你 n 个整数,求他们中所有奇数的乘积。
输入描述
每个测试实例占一行,每行的第一个数为 n,表示本组数据一共有 n 个,接着是 n 个整数,
你可以假设每组数据必定至少存在一个奇数。
输出描述
输出每组数中的所有奇数的乘积,对于测试实例,输出一行。
输入样例
3 1 2 3
输出样例
3
#include<stdio.h>intmain(){int i, n, sum, p;while(~scanf("%d",&n)){
sum =1;for(i =0; i < n; i++){scanf("%d",&p);if(p %2==1){
sum = p * sum;}}printf("%d\n", sum);}return0;}
习题05(14)下落的球
一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。编程
计算气球在第 5 次落地时,共经过多少米? 第 5 次反弹多高?
输入描述
整数 h0,表示球最开始的高度。
输出描述
两个数据 s 和 h,分别表示第 5 次落地时共经过 s 米,第 5 次反弹高度为 h 米,s 和 h 用空
格隔开。
输入样例
10
输出样例
28.75 0.3125
#include<stdio.h>intmain(){int h0, i;double h, s;
s =0;scanf("%d",&h0);
h = h0;for(i =0; i <5; i++){
h =1.0/2* h;
s = s +2* h;}
s = s -2* h;
s = s + h0;printf("%.2lf %.4lf\n", s, h);return0;}
#include<stdio.h>intmain(){int h, m, s;scanf("%d:%d:%d",&h,&m,&s);
s = s +1;if(s ==60){
m++;
s =0;}if(m ==60){
h++;
m =0;}if(h ==24){
h =0;}printf("%02d:%02d:%02d\n", h, m, s);return0;}
#include<stdio.h>intmain(){int n, i, j;scanf("%d",&n);if(n >2&& n <20){for(i =1; i <= n; i++){for(j =1; j <= n - i; j++){printf(" ");}for(j =1; j <=2* i -1; j++){printf("*");}printf("\n");}}return0;}
#include<stdio.h>intmain(){int num, s, y =0;scanf("%d",&num);
s = num;while(s >0){
y = y *10+ s %10;
s = s /10;}if(y == num){printf("%d 是回文数\n", num);}else{printf("%d 不是回文数\n", num);}return0;}