1、打印菱形星号组合。
#include <stdio.h>
int p_black(int,int);
int main()
{
int i;
int n;
int m=1;
int flag=0;
char ch='*';
for(i=1;i<=7;i++)
{
flag=p_black(i,flag);
for(n=1;n<=2*m-1;n++)
{
printf("%c",ch);
}
if(flag==0)
flag=1;
flag=p_black(i,flag);
printf("\n");
i<4?m++:m--;
}
return 0;
}
int p_black(int i,int flag)
{
int n;
static int j=5;
for(n=j;n>=1;n--)
{
printf("%c",' ');
}
if(flag==1)
{
i<4?j--:j++;
flag=0;
}
return flag;
}
注意:空格及*输出个数的规律,函数的调用对参数的影响
2、求a和b的最大公约数。
#include <stdio.h>
int main()
{
int a,b;
int i;
int s_num;
int h_div;
printf("Please input two nums: \n");
scanf("%d%d",&a,&b);
s_num = a < b ? a : b;
for (i = 1;i <= s_num;i++)
{
if((a % i == 0) && (b % i == 0))
{
h_div = i;
}
}
printf("The hightest common divisor is %d.\n",h_div);
return 0;
}
int main()
{
int a,b;
int i;
int s_num;
int h_div;
printf("Please input two nums: \n");
scanf("%d%d",&a,&b);
s_num = a < b ? a : b;
for (i = 1;i <= s_num;i++)
{
if((a % i == 0) && (b % i == 0))
{
h_div = i;
}
}
printf("The hightest common divisor is %d.\n",h_div);
return 0;
}
3、求100~200间的所有素数,每行打印5个素数。
#include <stdio.h>
int main()
{
int n;
int i;
int flag=0;
int p_num=0;
for(n=100;n<=200;n++)
{
i=2;
while(i<n)
{
if(n%i==0)
{
flag=1;
break;
}
i++;
}
if(flag==0)
{
printf("%d ",n);
p_num++;
if(p_num%5==0)
printf("\n");
}
flag=0;
}
printf("\n");
return 0;
}
int main()
{
int n;
int i;
int flag=0;
int p_num=0;
for(n=100;n<=200;n++)
{
i=2;
while(i<n)
{
if(n%i==0)
{
flag=1;
break;
}
i++;
}
if(flag==0)
{
printf("%d ",n);
p_num++;
if(p_num%5==0)
printf("\n");
}
flag=0;
}
printf("\n");
return 0;
}
注意:while、break的使用,还有flag的使用