From d3004aa5f54faad59a57c60bcf0d97262e31397b Mon Sep 17 00:00:00 2001 From: psfpur5z4 <2287687348@qq.com> Date: Sun, 26 Nov 2023 19:39:24 +0800 Subject: [PATCH] ADD file via upload --- main.c | 218 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 main.c diff --git a/main.c b/main.c new file mode 100644 index 0000000..acad722 --- /dev/null +++ b/main.c @@ -0,0 +1,218 @@ +#include +#include +#include +void fac(int n){ + int i; + unsigned long long res=1; + for(i=1; i<=n; i++){ + res*=i; + } + printf("%d!=%llu",n,res); +}//n的阶乘 +void judge_prime(int n){ + int i; + int k=sqrt(n); + for(i=2; i<=k; i++){ + if(n%i==0){ + break; + } + } + if(i>k){ + printf("This is prime!"); + }else{ + printf("This is not prime!"); + } +} //判断素数 +void V_sphere(int r){ + printf("The volume of the ball is%f",(4*r*r*r)/3.0); +}//球的体积 +long long fic(int n){ + long long y; + if(n==1||n==2){ + y=1; + }else{ + y=fic(n-1)+fic(n-2); + } + return y; +}//求斐波那契数列的第n项值 +/*double index1(int x,int n){ + int i; + double result; + if(n=0){ + result=1; + }else if(n>0){ + for(i=0; ib){ + t=a; + a=b; + b=t; + } + for(i=2; i<=a; i++){ + if(a%i==0&&b%i==0){ + printf("%d与%d的最小公倍数为%d",a,b,i); + loc=1; + break; + } + } + if(loc==0){ + printf("%d与%d的最小公倍数为1",a,b); + } +}//求最小公倍数 +void swap(int *a,int *b){ + int t; + t=*a; + *a=*b; + *b=t; +}//交换两个数的值 +void sort(int a[],int len){ + int i,j,t; + for(i=0; ia[j]){ + t=a[i]; + a[i]=a[j]; + a[j]=t; + } + } + } +}//数组从小到大排序 +int main(int argc, char *argv[]) { + int n; + int a[1000000]; + int k,i; + int x1,x2; + long long y; + double z; + printf("请输入你要进行的运算:\n"); + printf("1.四则运算\n"); + printf("2.求模运算\n"); + printf("3.求n的阶乘\n"); + printf("4.判断素数\n"); + printf("5.求半径为n的球的体积\n"); + printf("6.求斐波那契数列的第n项值\n"); + printf("7.求x的n次方\n"); + printf("8.求两个数最大的公约数\n"); + printf("9.求两个数的最小公倍数\n"); + printf("10.交换两个数\n"); + printf("11.对输入的n个数排序\n"); + scanf("%d",&n); + switch(n){ + case 1: + printf("请选择你要进行的运算方式\n"); + printf("1.加法\n"); + printf("2.减法\n"); + printf("3.乘法\n"); + printf("4.除法\n"); + scanf("%d",&k); + if(k==1){ + printf("请输入两个加数:\n"); + scanf("%d%d",&x1,&x2); + printf("%d+%d=%d\n",x1,x2,x1+x2); + }else if(k==2){ + printf("请输入被减数与减数:\n"); + scanf("%d%d",&x1,&x2); + printf("%d-%d=%d\n",x1,x2,x1-x2); + }else if(k==3){ + printf("请输入两个乘数:\n"); + scanf("%d%d",&x1,&x2); + printf("%d*%d=%d\n",x1,x2,x1*x2); + }else if(k==4){ + out: + printf("请输入被除数与除数:\n"); + scanf("%d%d",&x1,&x2); + if(x2==0){ + printf("输入错误,无法计算,请重新输入\n"); + goto out; + }else{ + printf("%d÷%d=%f\n",x1,x2,x1/(double)x2); + } + + } + break; + case 2: + printf("请输入取模的两个数:\n"); + scanf("%d%d",&x1,&x2); + printf("%d%%%d=%d\n",x1,x2,x1%x2); + break; + case 3: + printf("请输入要求阶乘的数字:\n"); + scanf("%d",&x1); + fac(x1); + break; + case 4: + printf("请输入数字:\n"); + scanf("%d",&x1); + judge_prime(x1); + break; + case 5: + printf("请输入半径:\n"); + scanf("%d",&x1); + V_sphere(x1); + break; + case 6: + printf("请问需要求斐波那契数列的第几项值:\n"); + scanf("%d",&x1); + y=fic(x1); + printf("斐波那契数列的第%d项值为%lld",x1,y); + break; + case 7: + printf("请依次输入x和n的值:\n"); + scanf("%d%d",&x1,&x2); + //z=index1(x1,x2); + z=pow(x1,x2); + printf("%d的%d次方为%f",x1,x2,z); + break; + case 8: + printf("请输入两个数:\n"); + scanf("%d%d",&x1,&x2); + y=GCD(x1,x2); + printf("%d和%d最大公约数为%lld",x1,x2,y); + break; + case 9: + printf("请输入两个数:\n"); + scanf("%d%d",&x1,&x2); + LCM(x1,x2); + break; + case 10: + printf("请输入需要交换的两个数:\n"); + scanf("%d%d",&x1,&x2); + swap(&x1,&x2); + printf("%d %d",x1,x2); + break; + case 11: + printf("请问需要对几个数进行排序:\n"); + scanf("%d",&k); + printf("请输入这些数字并用空格隔开:\n"); + for(i=0; i