C语言基础编程题目1

  1. 水仙花数
  2. 素数
  3. 最大公约数最小公倍数
  4. 闰年
  5. 两个数比较大小
  6. 分式和
  7. 方程式求根
  8. 冒泡排序
  9. 求pi的值
  10. 兔子数列

1.水仙花数(21年淮南师范专升本C大题)

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。,求1000以内的水仙花数

#include<stdio.h>
int main()
{
	for(int i=100;i<1000;i++)
	{
		int a=i/100;
		int b=i/10%10;
		int c=i%10;
		if(a*a*a+b*b*b+c*c*c==i)
		{
			printf("水仙花数 is %d\n",i);
		}
	}
	return 0;
}

2.素数

素数一般指质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数,判断素数

#include<stdio.h>
int main()
{
	bool isNumber(int num);	
	for(int i=100;i<=200;i++)
	{
		if(isNumber(i))
		{
			printf("%d\n",i);
		}
	}
	return 0;
}
bool isNumber(int a)
{
	int sum=0; 
	for(int i=2;i<=a/2+1;i++)
	{
		if(a%i==0)
		{
			sum++;
			break;
		}
	}
	if(sum==0)
	{
		return true;
	}else{
		return false;
	}
}

3.最大公约数最小公倍数

#include<stdio.h>
int main()
{
	int a,b,max;
	scanf("%d,%d",&a,&b);
	if(a<b)
		max=b;
	else
		max=a;
	for(int i=max-1;i>=0;i--)
	{
		if(a%i==0&&b%i==0)
		{
			printf("最大公因数 is %d",i);
			printf("最小公倍数 is %d",a*b/i);
			break;
		}
	}
		
	return 0;
}

4闰年

#include<stdio.h>
int main()
{
	
	bool isyear(int x);
	for(int i=100;i<=200;i++)
	{
		if(isyear(i))
		{
			printf("%d\n",i);
		}
	}
	
	
	return 0;
}
bool isyear(int x)
{
	for(int i=2;i<x/2+1;i++)
	{
		if(x%i==0)
		{
			return false;
		}
	}
	return true;
}

5.两个数比较大小

#include<stdio.h>
int main()
{
	int max(int x,int y);
	int a,b,c;
	scanf("%d,%d",&a,&b);
	c=max(a,b);
	printf("max=%d\n",c);
	return 0;
}
int max(int x,int y){
	int z;
	if(x>=y)
		z=x;
	else
		z=y;
	return z;
}

6.分式和

#include<stdio.h>
int main()
{
	double sum=1.0;
	int flag=1;
	for(int i=1;i<=100;i++)
	{
		sum=sum+flag/(double)i;
		flag=-flag;
	}
	printf("sum is %.7f\n",sum);
	
	
	return 0;
 } 
 

7. 方程式求根

#include <stdio.h>

#include <math.h>

int main()
{
    double a,b,c;                                /*定义系数变量*/
    double x1,x2,p;                              /*定义根变量和表达式的变量值*/
    printf("请输入a,b,c:");                      /*提示用户输入三个系数*/
    scanf("%lf%lf%lf",&a,&b,&c);                 /*接收用户输入的系数*/
    printf("\n");                               /*输出回行*/
    p=b*b-4*a*c;                            /*给表达式赋值*/
    x1=(-b+sqrt(p))/(2*a);                           /*根1的值*/
    x2=(-b-sqrt(p))/(2*a);                           /*跟2的值*/
    printf("x1=%f,x2=%f\n",x1,x2);                   /*输出两个根的值*/
	return 0;
}

8.冒泡排序


#include "stdio.h"
int main()
{
    int a[]={900, 2, 3, -58, 34, 76, 32, 43, 56, -70, 35, -234, 532, 543, 2500};
    int n;  // 比较数组a中元素的个数
    int tmp; //存放中间遍历
    n = sizeof(a) / sizeof(a[0]);//a[0]是int型, 占4字节, 所以总的字节数除以4等于元素的个数
    for (int i = 0; i < n-1; ++i) {
        for (int j = 0; j < n-i-1; ++j) {
            if(a[j]>a[j+1])
            {
                tmp=a[j];
                a[j]=a[j+1];
                a[j+1]=tmp;
            }
        }
    }

    for (int i = 0; i < n; ++i) {
        printf("%d\x20",a[i]);
    }
    
    
    return 0;
}

9.求pi的值

#include<stdio.h>
#include<math.h>
int main()
{
    int sign=1;
    double pi=0,n=1,term=1;
    while(fabs(term)>=1e-6){
        pi=pi+term;
        n=n+2;
        sign=-sign;
        term=sign/n;
    }
    pi=pi*4;
    printf("pi=%10.8f\n",pi);

    return 0;

}

10.兔子数列

#include<stdio.h>
int main()
{
    int f1=1,f2=1,f3,i;
    printf("%d\n%d\n",f1,f2);
    for ( i = 1; i <= 38; i++)
    {
        f3=f1+f2;
        printf("%12d\n",f3);
        f1=f2;
        f2=f3;
    }
    
    return 0;
}

C语言基础编程题目2

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值