C语言经典实例二

1、判断给定的年份是否是闰年

1)若某个年份能被4整除但不能被100整除,则是闰年。

2)若某个年份能被400整除,则也是闰年

​
#include <stdio.h>
void main()
{
 int year,leap;
 printf("please input year"); 
 scanf("%d",&year); 

 if(year%400==0||year%4==0&&year%100!=0)
  printf("%d是闰年\n",year);
 else
  printf("%d不是闰年\n",year);

}

​

java判断闰年

2、输出一个三位数,依次输出该数的百位、十位、个位数字。

#include <stdio.h>
void main()
{
	int num,a,b,c;
	scanf("%d",&num);
	a=num/100;         //计算得到num的百位存入变量a中
	b=num/10%10;       //计算得到num的十位存入变量b中
	c=num%10;          //计算得到num的个位存入变量c中
	printf("百位:%d\n十位:%d\n个位:%d\n",a,b,c);
}

3、输入任意三个数,判断三个数是否可以构成三角形,若能,是构成等腰三角形、等边三角形还是其他三角形?

分析:三角形要求任意两边之和大于第三边,在满足此条件下,细分出三边相等为等边三角形,任意两边相等为等腰三角形,其余为其他三角形

#include <stdio.h>
void main()
{
	float a,b,c;
	printf("Enter three sides of triangle:");
	scanf("%f,%f,%f",&a,&b,&c);
	if((a+b)>c&&(a+c)>b&&(b+c)>a)  //任意两边之和大于第三边
	{
		if((a==b)&&(b==c))
			printf("等边三角形");
		else if((a==b)||(b==c)||(a==c))
			printf("等腰三角形");
		else
			printf("其他三角形");
	}
	else
		printf("不能构成三角形");
}

4、从键盘上输入一个整数,然后把这个整数的各位逆序输出。例如1234565,输出654321

#include <stdio.h>
void main()
{
	int n,d;
	printf("Enter an integer:");
	scanf("%d",&n);
	do
	{
		d=n%10;           //d保存数n的个位,n保持不变
		printf("%d",d);  
		n/=10;
	}while(n!=0);
	printf("\n");
}

5、编程输出如下图像 (行数由键盘输入 )

       

#include <stdio.h>
void main()
{
	int row,i,j;     ///row代表行数
	printf("Enter an row:");
	scanf("%d",&row);
	for(i=1;i<=row;i++)     //外层控制输出指定的行数
	{
		for(j=1;j<=i;j++)    //内层循环控制输出域行数i相同个数的*
		{
		  printf("*");
		}
		printf("\n");
	}

}

6、求100~200间的全部素数

素数是指只能被1和本身整除的数。

对于一个数m,可以让m被2~(m-1)的整数除,如果m能被2-(m-1)中任意一个数整除,则m不是素数,反之则是素数

可以对上述方法进行优化,把除数的范围从2~(m-1)缩小到2~\sqrt{m}

#include <stdio.h>
#include <math.h>
void main()
{
	int m,i,k,num;
	num=0;      //统计素数的个数
	for(m=100;m<=200;m++)
	{
		
		k=sqrt(m);
		for(i=2;i<=k;i++)    
		{                     //若能整除表m不是速速,break结束内层循环,执行外层m++
			if(m%i==0) break;
		}
		if(i>=k+1)
		{
			printf("%d ",m);    //输出素数 ,计算机num+1
			num++;
			if(num%7==0)    printf("\n"); //每行显示7个素数
		}
		
		
	}
}

 

7、打印出所有“水仙花数”。水仙花数是指一个三位数,其各个位数的立方之和等于该数本身。例如153是一个水仙花数,153=1^{3}+5^{3}+3^{3}

#include <stdio.h>
void main()
{
	int n1,n2,n3,i,num=0;
	for(i=100;i<=999;i++)
	{
		n1=i%10; //个位
		n2=i/10%10;//十位
		n3=i/100;   //百位
    	if(n1*n1*n1+n2*n2*n2+n3*n3*n3==i)
		{
	    	num++;
	    	printf("%d ",i);
	    	if(num%7==0)
		    	printf("\n");
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

const

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值