#include<stdio.h>intgcd(int m,int n){int t;if(m < n){
t = m, m = n, n = t;}while(n !=0){
t = m%n;
m = n;
n = t;}return m;}intlcm(int m,int n,int p){return m*n/p;}intmain(){int m,n,p,q;printf("请输入m,n\n");scanf("%d %d",&m,&n);
p =gcd(m,n);
q =lcm(m,n,p);printf("m,n的最大公约数是:%d\n",p);printf("m,n的最小公倍数是:%d\n",q);return0;}
#include<stdio.h>intmain(){int n, a;int sum, m;printf("输入n");scanf("%d",&n);
sum =0, a =2, m =0;while(n--){
m = m *10+ a;
sum += m;}printf("Sn=a+aa+aaa+...+ n个a的值:%d\n", sum);return0;}
5.6 求1! + 2! + … + 19! + 20! 的值
#include<stdio.h>intmain(){int i;longlong sum, t;for(i =1, sum =0, t =1; i <=20;++i){
t *= i;
sum += t;}printf("1! + 2! + ... + 19! + 20!的值为 : %lld\n", sum);return0;}
#include<stdio.h>intmain(){int i;double sum;for(i =1, sum =0.0; i <=100; i++){if(i <=10) sum +=1.0/ i;if(i <=50) sum += i * i;
sum += i;}printf("sum为:%lf", sum);return0;}
#include<stdio.h>intmain(){int i, x, y, z;for(i =100; i <1000; i++){
x = i %10;//个位
y = i /10%10;//十位
z = i /100;//百位if(i ==(x * x * x + y * y * y + z * z * z))//输出符合条件值printf("%d\n", i);}return0;}
5.9 求1000内完数
#include<stdio.h>intmain(){int i, m, j, n, a[50];for(i =1; i <=1000; i++){
m =0, n =0;for(j =1; j < i; j++){if(i % j ==0){
m += j;
a[++n]= j;}}if(m == i){printf("%d its factors are ", m);for(j =1; j < n; j++){printf("%d,", a[j]);}printf("%d\n", a[n]);}}return0;}
#include<stdio.h>intmain(){double x, y, t, sum;//声明分子,分母,缓存变量,和int i;//声明下标
x =2.0, y =1.0, sum =0.0;//初始化for(i =1; i <=20;++i){
sum += x / y;//累加
t = x + y;//缓存x+y到t
y = x;//将x赋给y
x = t;//将缓存值t赋给x}printf("%lf", sum);//输出和return0;}
#include<stdio.h>intmain(){double len =100;double sum = len;//第一次落地的高度
len = len/2;for(int i =2; i <=10;++i)//剩下9次落地所经过距离{
sum += len *2;//每次落地经过相同上下距离
len /=2;}printf("经过了%lf 第十次反弹弹起了%lf", sum, len);return0;}
#include<stdio.h>#include<math.h>intmain(){int a;double b, l, t;
a =2;
t = t =1.0;
l =2.0;while(fabs(l - b)>1.0e-5){
b = t;
l =(b +(a / b))/2;
t = l;}printf("x的值为%d 平方根为 %lf", a, l);return0;}
5.14
//TODO
5.15
//TODO
5.16打印出下面菱形
*************************
#include<stdio.h>intmain(){int i,j;for(i =1; i <=4;++i)//前四层{for(j =1; j <=4- i;++j)//每层输出4-i个空格{printf(" ");}for(j =1; j <=2* i -1;++j)//每层输出(2*i-1)个'*'{printf("*");}printf("\n");//每层最后的换行}for(i =3; i >=1;--i)//后三层 这里i为3先当将最前面三层倒着输出{for(j =1; j <=4- i;++j)//每层输出4-i个空格{printf(" ");}for(j =1; j <=2* i -1;++j)//每层输出(2*i-1)个'*'{printf("*");}printf("\n");//每层最后换行}return0;}
#include<stdio.h>intmain(){int a,b,c;for(a ='x'; a <='z';++a){if(a =='x')continue;for(b ='x'; b <='z';++b){for(c ='x'; c <='z';++c){if(c =='x'|| c =='z')continue;if(a != b && a != c && b != c ){printf("a vs %c\nb vs %c\nc vs %c", a, b, c);}}}}return0;}