C语言实现判断素数,回文数,水仙花数,闰年
2016-06-21 21:56
411 查看
判断素数(prime):
#include <stdio.h>
#include <math.h>
int main()
{
int i=0;
int num=0;
printf("方法一,直接循环判断\n");
printf("请输入一个整数:\n");
scanf("%d",&num);
for(i=2;i<=num-1;i++)
{
if(num%i==0)
{
break;
}
}
if(i<num)
{
printf("num isn't a prime\n");
}
else
{
printf("num is a prime\n");
}
printf("方法二,循环到平方根判断\n");
int n=0;
n=sqrt(num);
for(i=2;i<=n;i++)
{
if(num%i==0)
{
break;
}
}
if(i<=n)
{
printf("num isn't a prime\n");
}
else
{
printf("num is a prime\n");
}
return 0;
}
编译方法:gcc prime.c -o prime -Wall -lm
判断水仙花数(narcissistic number):
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(n==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
return 0;
}
判断回文数(palindrome number):
#include<stdio.h>
int x,y;
void separate(int *data,int n)
{
int i,j;
y=0;
while(n!=0)
{
*(data+y)=n%10;n=n/10;y++;
}
*(data+y)='\0';
for(i=0,j=y-1;i<=j;i++,j--)
{
if(*(data+i)!=*(data+j)){
printf("%d不是回文!!!\n",x);break;
}
}
//if(i ==y-1) printf("是回文数");
printf("是回文数\n");
}
int main()
{
int a[99];
printf("请输入一个正整数:");
scanf("%d",&x);
separate(a,x);
return 0;
}
判断闰年
/*
判断是否闰年
*/
#include <stdio.h>
int main()
{
printf("请输入年份:\n");
int year=0;
scanf("%d",&year);
//判断闰年的条件
if(((year%4==0) && (year%100!=0))||(year%400==0))
{
printf("%d is leap\n",year);
}
else
{
printf("%d isn't leap\n",year);
}
return 0;
}
#include <stdio.h>
#include <math.h>
int main()
{
int i=0;
int num=0;
printf("方法一,直接循环判断\n");
printf("请输入一个整数:\n");
scanf("%d",&num);
for(i=2;i<=num-1;i++)
{
if(num%i==0)
{
break;
}
}
if(i<num)
{
printf("num isn't a prime\n");
}
else
{
printf("num is a prime\n");
}
printf("方法二,循环到平方根判断\n");
int n=0;
n=sqrt(num);
for(i=2;i<=n;i++)
{
if(num%i==0)
{
break;
}
}
if(i<=n)
{
printf("num isn't a prime\n");
}
else
{
printf("num is a prime\n");
}
return 0;
}
编译方法:gcc prime.c -o prime -Wall -lm
判断水仙花数(narcissistic number):
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(n==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
return 0;
}
判断回文数(palindrome number):
#include<stdio.h>
int x,y;
void separate(int *data,int n)
{
int i,j;
y=0;
while(n!=0)
{
*(data+y)=n%10;n=n/10;y++;
}
*(data+y)='\0';
for(i=0,j=y-1;i<=j;i++,j--)
{
if(*(data+i)!=*(data+j)){
printf("%d不是回文!!!\n",x);break;
}
}
//if(i ==y-1) printf("是回文数");
printf("是回文数\n");
}
int main()
{
int a[99];
printf("请输入一个正整数:");
scanf("%d",&x);
separate(a,x);
return 0;
}
判断闰年
/*
判断是否闰年
*/
#include <stdio.h>
int main()
{
printf("请输入年份:\n");
int year=0;
scanf("%d",&year);
//判断闰年的条件
if(((year%4==0) && (year%100!=0))||(year%400==0))
{
printf("%d is leap\n",year);
}
else
{
printf("%d isn't leap\n",year);
}
return 0;
}
相关文章推荐
- Linux C函数参考手册(PDF版)
- C# partial关键字说明
- Lua教程(十七):C API简介
- 简单谈谈lua和c的交互
- C#用链式方法表达循环嵌套
- C#中的委托数据类型简介
- C#编写的艺术字类实例代码
- C#实现打造气泡屏幕保护效果
- 举例讲解C#编程中委托的实例化使用
- 使用C#代码获取存储过程返回值
- C和指针小结(推荐)
- C++中explict关键字用法
- C/C++数据对齐详细解析
- 利用C语言来求最大连续子序列乘积的方法
- 字符串的组合算法问题的C语言实现攻略
- C 语言基础教程(我的C之旅开始了)[三]
- 学习C和C++的9点经验总结
- C++中的extern “C”用法详解
- C 语言基础教程(我的C之旅开始了)[七]