#include<stdio.h>#include<string.h>voidfind(int x,int y){int min = x * y;;int temp;if(x<y){
temp = x;
x = y;
y = temp;}do{//辗转相除 do while防止x为y倍数
temp = x % y;
x = y;
y = temp;}while(temp!=0);printf("最大公约数为:%d\n",x);printf("最小公倍数为:%d",min/x);//x*y 为最大公约乘以最小公倍}intmain(int argc,constchar* argv[]){printf("请输入两个正整数\n");int x,y;scanf("%d %d",&x,&y);find(x,y);return0;};
2.计算(-1)^(n+1) * (1/2n-1)数列求和
#include<stdio.h>#include<string.h>voidsum(int n){double sum=0,an;for(int i=1;i<=n;i++){
an =2*i-1;
an =1/an;if(i%2!=0){
sum +=an;}else{
sum -=an;}}printf("前%d项和为%.4lf\n",n,sum);}intmain(int argc,constchar* argv[]){printf("请输入一个正整数\n");int x;scanf("%d",&x);sum(x);return0;};
#include<stdio.h>#include<string.h>floatcul(float x ,char op ,float y){switch(op){case'+':return x+y;break;case'-':return x-y;break;case'*':return x*y;break;case'/':if(y==0)printf("算式不符合要求");return x/y;break;};return0;}intmain(int argc,constchar* argv[]){printf("请输入算式(逗号间隔)\n");float x,y,res;char op;scanf("%f %c %f",&x,&op,&y);
res =cul(x,op,y);printf("结果为%.2f",res);return0;};
5.求Fibonacci分数列前10项和
#include<stdio.h>#include<string.h>intmain(int argc,constchar* argv[]){double x=1.0,y=2.0;double temp,an,sum =0.0;for(int i =0;i<10;i++){
an = y / x;
sum += an;
temp = y;
y = x+y;
x =temp;}printf("斐波那契分数数列前十项和为:%.4lf\n",sum);};
6.输入10个找最大数
#include<stdio.h>#include<string.h>intmain(int argc,constchar* argv[]){int count=0;int i,max=0;while(count!=10){scanf("%d",&i);if(max<i) max = i;
count++;}printf("最大数为:%d",max);};
#include<stdio.h>#include<string.h>#include<math.h>voidsum(int n){int sum=0,an;for(int i=1;i<=n;i++){
an =(pow(10,i)-1)/9*2;
sum += an;}printf("和为%d",sum);}intmain(){int a=2,n;printf("输入n的值\n");scanf("%d",&n);sum(n);};
9.递归求阶乘的和
#include<stdio.h>#include<string.h>intjiecheng(int n){if(n==1){return1;}else{return n*jiecheng(n-1);}}intmain(){int n =10,an,sum=0;for(int i=1; i<=10; i++){
an =jiecheng(i);
sum+=an;}printf("1~10的阶乘和为:%d\n",sum);};
10.水仙花数
#include<stdio.h>#include<string.h>intmain(){for(int i=100;i<=999;i++){int x,y,z;
x = i%10;
y = i/10%10;
z = i/100;if(x*x*x+y*y*y+z*z*z==i)printf("水仙花数为%d\n",i);}};
11.球落地问题
#include<stdio.h>#include<string.h>intmain(){double sum =100.0;double len =100.0;for(int i =1; i <=9; i++){
len /=2;
sum += len*2;}printf("共经过%.3lf米\n第十天反弹为%.3lf米\n",sum,len);return0;};
12.猴吃桃问题
#include<stdio.h>#include<string.h>intmain(){int p =1;for(int i=2;i<=10;i++){
p =(p+1)*2;}printf("第一天摘了%d个桃\n",p);};
#include<stdio.h>#include<string.h>intmain(int argc,constchar* argv[]){int a[20]={1,1};int sum =2;for(int i=2;i<=19;i++){
a[i]= a[i-1]+a[i-2];
sum += a[i];};printf("前20个月,每个月总数和为%d\n",sum*2);//一对兔子 *2};
24.找课程最高分
#include<stdio.h>#include<string.h>voidfindmax(int a[3][20]){int max =0;for(int i=0;i<=2;i++){for(int j=0;j<=9;j++){if(max< a[i][j]) max = a[i][j];}printf("第%d门课的最高分为%d\n",i+1,max);
max =0;}}intmain(){int score[3][20]={{78,79,45,65,34,92,65,46,22,44},{88,79,45,65,34,65,32,46,22,44},{98,79,45,65,34,99,65,46,22,44}};findmax(score);};