1、用标准C编程:找出整形数字1-100之间的素数,并打印出来。(素数:除了1和自己本身可以被整除。)
/*
素数:除了1和自己本身可以被整除
思路:从2开始到小于该数减一取余不等于0则为素数。
*/
#include<stdio.h>
main()
{
int i,n;
for(i=1;i<=100;i++)
{
for(n=2;n<i;n++)
if(i%n==0)
break;
if(n==i)
printf("%d\n",i);
}
}
2、用标准C编程:有两个整形变量m、n,求出这两个数的最小公倍数。
/*
最小公倍数=两数相乘/最大公约数
*/
#include<stdio.h>
main()
{
int a,b;
int c=1;
int i,d;
printf("请输入两个数:\n");
scanf("%d %d",&a,&b);
for(i=2;i<=a&&i<=b;i++)//求最大公倍数
{
if(a%i==0&&b%i==0)
{
c=i;
}
}
d=a*b/c;
printf("最小公倍数是:%d\n",d);
}
3、 用标准C编程:输出杨辉三角形的前10行:三角形的每一行是(x+y)^n的展开式各项的系数。
例如:
第一行是(x+y)^0,其系数为1;
第二行是(x+y)^1,其系数为1;
第三行是(x+y)^2,其展开式为x2+2xy+y2,系数分别为1,2,1;
直观形式如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
思路:
#include<stdio.h>
main()
{
int a[10][10]={0};//初始化为0
int i,j;
for(i=0;i<10;i++)
a[i][0]=a[i][i]=1;//第一列和每行最后一列都为1
}
for(i=2;i<10;i++)
{
for(j=1;j<i;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];//中间部分的实现
}
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
{
printf("%5d",a[i][j]);
}
printf("\n");
}
}