第二波来啦!
25判断是否是闰年
#include <stdio.h>
int main()
{ int year,leap;
scanf("%d",&year);
if (year%400==0) leap=1;
else if(year%4==0)
if(year%100==0) leap=0;
else leap=1;
else leap=0;
if(leap) printf("%d是闰年\n",year);
else printf("%d不是闰年\n",year);
return 0;
}
26判断一个数是否是素数
#include <stdio.h>
#include <math.h>
void main()
{ int i,a;
scanf("%d",&a);
for(i=2;i<=sqrt(a);i++)//这里利用了素数的定义特性,
//即除了1和自身外,不能被其他自然数整除。
//0我们只需检查到sqrt(a)即可,因为如果a有一个大于sqrt(a)的因数,那么它必定还有一个小于等于sqrt(a)的对应因数。
{
if(a%i==0)//a对i取余一直取到a自身的开根号,理由如上
break;//使用break语句跳出循环,因为此时已经找到了一个除1和本身之外的因子,说明a不是素数。
}
if(i>sqrt(a))//检查循环变量i是否已经超过了sqrt(a)。如果是,说明在2到sqrt(a)的范围内没有找到能整除a的数,因此a是素数。
printf("%d是素数\n",a);
else
printf("%d不是素数\n",a);
}
27判断一个数是否是完数
#include <stdio.h>
#include <stdlib.h>
int main()
{ int a,b=0,i,n;
scanf("%d",&n);
for(i=1;i<n;i++)
{
if(n%i==0)//基本上求因子都需要这个 一定是n%i!!!
{
a=i;//把因子i赋值给a
b=b+a;//用b来叠加因子之和
}
}
if(n==b) printf("%d是完数",n);
else printf("%d不是完数",n);
return 0;
}
28求1到n的和
#include <stdio.h>
#include <stdlib.h>
int main()
{ int s=0,i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
s+=i;
printf("1+2+3+...+n=%d",s);
return 0;
}
29求200以内所有素数
#include <stdio.h>
#include <math.h>
void main()
{ int i,a,b;
for(i=2;i<=200;i++)
{
for(a=2;a<=i;a++)
{
if(i%a==0)
break;
}
if(a>sqrt(i))
{printf("%-4d",i);
b++;
if(b%4==0) printf("\n");
}
}
}
30求n的阶乘
#include <stdio.h>
#include <stdlib.h>
int main()
{ int s=1,i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
s*=i;
printf("%d!=%d",n,s);
return 0;
}
32求最大公约数
#include <stdio.h>
#include <stdlib.h>
int main()
{ int m,n,x,y,z;
scanf("%d%d",&m,&n);
if(m<n)
{
z=m;
m=n;
n=z;
}
x=m;y=n;
while(y!=0)
{
z=x%y;
x=y;
y=z;
}
printf("最大公约数为:%d",x);
return 0;
}
33-1,2,3,4可组成的不同的三位数
#include <stdio.h>
int F()
{ int x,a,b,c,i=0;
for(a=1;a<=4;a++)
{
for(b=1;b<=4;b++)
{
if(b==a) continue;
for(c=1;c<=4;c++)
{
if(c==a||c==b) continue;
x=a*100+b*10+c;
printf("%-5d",x);
i++;
if(i%4==0) printf("\n");
}
}
}
return i;
}
int main()
{
printf("共有%d个不同的三位数",F());
return 0;
}
34九九乘法表for
/*#include <stdio.h>
int main()
{ int a,b;
for(a=1;a<=9;a++)
{
{ for(b=1;b<=a;b++)
printf("%d*%d=%-4d",a,b,a*b);
} printf("\n");
}
}*/
#include<stdio.h>
int main()
{
int a,b;
for(a=1;a<=9;a++)
{
for(b=1;b<=a;b++)
{
printf("%d*%d=%-4d",a,b,a*b);
}
printf("\n");
}
return 0;
}
35递归调用求阶乘
#include <stdio.h>
#include <stdlib.h>
int fac(int n)
{
int f;
if(n<=1) return 1;
else f=n*fac(n-1);
return f;
}
int main()
{ int n;
scanf("%d",&n);
printf("%d!=%d",n,fac(n));
return 0;
}
36密码游戏
#include <stdio.h>
#define x 22190654
int main()
{ int a,i=1;
while(a!=x)
{
printf("请输入密码:");
scanf("%d",&a);
if(a==x)
{
printf("密码正确!");
break;
}
else printf("请重新输入\n");
i++;
if(i%6==0)//只允许输入6次
{
printf("你被锁住了!");
break;
}
}
return 0;
}
37判断三角形
#include <stdio.h>
#include <stdlib.h>
int S(float a,float b,float c)
{
if(a+b>c&&a+c>b&&b+c>a&&a-b<c&&a-c<b&&b-c<a)
{if(a==b&&a==c&&b==c)
printf("可构成等边三角形");
else if(a==b||a==c||b==c)
printf("可构成等腰三角形");
else if(a*a+b*b==c*c)
{ if(a==b||a==c||b==c)
printf("可构成等腰直角三角形");
else printf("可构成直角三角形");
}
else printf("可构成普通三角形");
}
else printf("不能构成三角形");
}
int main()
{ float a,b,c;
printf("请输入三条边长:");
scanf("%f%f%f",&a,&b,&c);
S(a,b,c);
return 0;
}
38判断一个数是几位数
#include <stdio.h>
#include <stdlib.h>
int main()
{ int a,i=0,x;
scanf("%d",&a);
x=a;
while(x!=0)
{
x=x/10;
i++;
}
printf("%d是%d位数",a,i);
return 0;
}
39输出各类型字符数
#include <stdio.h>
int main()
{
char x;
int a=0,b=0,c=0,d=0;
printf("请输入一行字符:");
while ((x=getchar())!='\n')
{
if (x>='a'&&x<='z'||x>='A'&&x<='Z')//判断字母字符
{
a++;
}
else if (x==' ')//判断空格字符
{
b++;
}
else if (x>='0'&&x<='9')//判断数字字符
{
c++;
}
else d++;
}//上面的a,b,c,d随循的次数增加,可以判断出各种字符共有几个
printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符:%d\n",a,b,c,d);
return 0;
}
40输出菱形的星星
#include <stdio.h>
#include <stdlib.h>
int main()
{ int i,k;
for(i=1;i<=4;i++)
{
for(k=1;k<=(2*i-1);k++)
printf("*");
printf("\n");
}
for(i=3;i>=1;i--)
{
for(k=1;k<=(2*i-1);k++)
printf("*");
printf("\n");
}
return 0;
}
41函数调用1到6的阶乘和
#include <stdio.h>
#include <stdlib.h>
int main()
{int n,s=0,t=1;
for(n=1;n<=6;n++)
{
t*=n;
s+=t;
}
printf("1+2!+3!+...+6!=%d",s);
return 0;
}
42起泡法排序
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,k;
int a[10];
printf("请输入要排序的数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
{
if(a[i]>a[i+1])
{
k=a[i];
a[i]=a[i+1];
a[i+1]=k;
}
}
for(i=0;i<10;i++)
printf("%-4d",a[i]);
}
有用点个赞和关注吧!