C语言基础巩固题目

1、求S=1+1/2+1/4+...+1/50的值


    int i;                             
	float sum=1;
	for(i=2;i<=50;i+=2)
	{
		sum=sum+1/(float)i;
	}
	printf("sum=%f",sum);

注:强制类型转换

2、对任意三个数字进行从大到小顺序排序


    int a,b,c;
	int m;
	printf("input three number:\n");
	scanf("%d %d %d",&a,&b,&c);
	printf("old order:%d,%d,%d\n",a,b,c);
	if(a<b)
	{
		m=a;
		a=b;
		b=m;
	}
	if(a<c)
	{
		m=a;
		a=c;
		c=m;
	}
	if(b<c)
	{
		m=b;
		b=c;
		c=m;
	}
	
	printf("new order:%d,%d,%d\n",a,b,c);

3、从键盘输入一个整数,判断这个数是不是回文数


    int num,num1;
    int sum=0;
    printf("input a number:\n");
    scanf("%d",&num);
    num1=num;
    while(num1)
    {
        sum=sum*10+num1%10;
        num1=num1/10;
    }
    if(num==sum)
    printf("yes!\n");
    else
    printf("no!\n");

4、求S=a+aa+aaa+...+aa...aa,其中a为一个数字


    int a,a1,n,i,j;               
	int s=0;
	printf("input a & n:\n");
	scanf("%d %d",&a,&n);
	for(i=1;i<=n;i++)
	{
		a1=a;
		j=1;
		while(j<i)
		{
			a1=a1*a;
			j++;
		}
		s=s+a1;
	}
	printf("%d",s);

5、有一个分数序列:2/1, 3/2, 5/3,8/5。。。求出这个序列的前20项之和


    float a=1,b=2;               
	int i;
	float sum=0,z,t;
	for(i=1;i<=20;i++)
	{
		z=b/a;
		sum+=z;
		t=b;
		b=a+b;
		a=t;
	}
	printf("sum=%f",sum);

猜你喜欢

转载自blog.csdn.net/xiaoyeren_ITRoad/article/details/82717029