n的阶乘;计算1!+2!+3!+4!+...+10!;编写代码,演示多个字符从两边移动,向中间汇聚;求ax^2+bx+c=0的解;写一个程序返回参数二进制中1的个数;6.求两个数的最大公约数。

1.计算n的阶乘。

#include<stdio.h>

int main()

{

int i;

int n;

    int t=1;

printf("请输入一个整数:");

    scanf("%d",&n);

for(i=1;i<=n;i++)

{

       

t=t*i;

 

}

printf("%d!=%d\n",n,t);

return 0;

}

2.计算1!+2!+3!+4!+...+10!

#include<stdio.h>

int main()

{

int i,step=1;

    int sum=0;

    for(i=1;i<=10;i++)

  {  

 

 step=step*i;

      

 

      sum=sum+step;

}

printf("%d\n",sum);

return 0;

}

3.编写代码,演示多个字符从两边移动,向中间汇聚。

#include<stdio.h>

#include<windows.h>

int main()

{

char a1[]="#############";

char a2[]="hello,jingjie";

int len=strlen(a1);

int i=0;

int j=len-1;

printf("%s\n",a1);

    while(i<=j)

{   

    Sleep(1000);

a1[i]=a2[i];

a1[j]=a2[j];

i++;

j--;

    Sleep(1000);

printf("%s\n",a1);  

}

return 0;

}

 

4.求ax^2+bx+c=0的解。

#include<stdio.h>

#include<math.h>

#define ESP 0.0000000001

int main()

{   

float a=0.0,b=0.0,c=0.0;

printf("请输入三个系数:\n");

scanf("%f%f%f",&a,&b,&c);

    if((a>-ESP)&&(a<ESP))

{

printf("不是一元二次方程\n");

 

}

else

{  

float d=b*b-4*a*c;

if((d>-ESP)&&(d<ESP))

{

printf("有两个相等的根:\n%f\n",(-b)/2*a);

}

else if(d>0)

{

printf("有两个不同的根:\n%f  %f\n",((-b)+sqrt(d))/2*a,((-b)-sqrt(d))/2*a);

}

else

{

printf("有两个共轭复根\n");

}

}

 

5.写一个程序返回参数二进制中1的个数;

#include<stdio.h>

int count_one_bit(int n)

{

int count=0;

while(n)

{

count++;

n=n&(n-1);

}

return count;

}

int main()

{

int num=0;

int ret=0;

printf("请输入一个整数:");

scanf("%d",&num);

ret=count_one_bit(num);

printf("该数的二进制中的个数为:%d\n",ret);

return 0;

}

 

6.求两个数的最大公约数。

#include<stdio.h>

int main()

{

int num1,num2;

printf("请输入两个数:");

scanf("%d%d",&num1,&num2);

    printf("%d,%d的最大公约数为:",num1,num2);

while(num1%num2!=0)

{

int tmp=num1%num2;

num1=num2;

num2=tmp;

}

printf("%d\n",num2);

return 0;

}

你可能感兴趣的:(n的阶乘;计算1!+2!+3!+4!+...+10!;编写代码,演示多个字符从两边移动,向中间汇聚;求ax^2+bx+c=0的解;写一个程序返回参数二进制中1的个数;6.求两个数的最大公约数。)