输出钻石型算法
static void diamond()
{/*{{{*/
int maxedge=0;
printf("Please enter edge's number:\n");
scanf("%d",&maxedge);//输入钻石型的最大宽度
int i,j;
for(i=0;i<maxedge;i++)
ptstar(maxedge-i,i+1);
for(j=0;j<maxedge-1;j++)
ptstar(j+2,maxedge-1-j);
return;
}/*}}}*/
/*
输出单排上的空格和星型符号,保持中间对齐
*/
static void ptstar(int space,int star)
{/*{{{*/
int i,j;
for(i=0;i<space;i++)
printf(" ");
for(j=0;j<star;j++)
printf("* ");
printf("\n");
}/*}}}*/
输出1000以内的质数(只能被1和自身整除的数)
static void prime()
{/*{{{*/
int number;
int divisor;
printf("1\n");
for(number = 2;number < 1000;number++)
{
for(divisor = 2;divisor < number;divisor++)
{
if(number % divisor == 0)//循环判断是否能被某个非1非自身的数整除
break;
}
if(divisor == number)//除数等于自身判断为质数
printf("%d\n",number);
divisor = 2;
}
return;
}/*}}}*/
计算水仙花数(三位数中个十百位的三次方值之和等于自身的数,即自幂数)
static void narcissistic()
{/*{{{*/
int hundred;
int ten;
int unit;
int number;
for(hundred = 1;hundred < 10;hundred++)
{
for(ten = 0;ten < 10;ten++)
{
for(unit = 0;unit < 10;unit++)
{
int number = hundred*100+ten*10+unit;
if(number == (pow(hundred,3) + pow(ten,3) + pow(unit,3)))
printf("%d\n",number);//pow(x,y)可以求x的y次方值
}
unit=0;
}
ten=0;
}
return;
}/*}}}*/
百钱买百鸡,公鸡五钱,母鸡三钱,三鸡雏一钱,求三种鸡各多少?
static void buychk()
{/*{{{*/
int male;
int female;
int young;
for(male = 1 ;male < 20;male++)//从数量最少最贵的开始循环
{
for(female = 1;female < ((100-5*male)/3);female++)
{
young =3*(100-5*male-3*female);
if((male+female+young) == 100)
printf("male = %d female =%d young =%d\n",male,female,young);
}
female=0;
}
return;
}/*}}}*/