1.对于菱形的输出我在谭浩强那本书里看到就是直接用printf();直接打印每一行确定好要输出的菱形数量就可以,但是这样做只适合小一点的,对于较大的就不好控制,也比较麻烦,对于输出的大小可变的可以采用以下程序进行实现。
int main()
{
int n = 0;
int i = 0;
scanf("%d",&n);//输入n来调节菱形的大小
for(i = 0;i<n;i++)
{
int j = 0;
for(j = 0;j<n-1-i;j++)//输出每一行刚开始的空格
{
printf(" ");
}
for(j = 0;j<2*i+1;j++)//当每一行空格输出结束后开始打印“*”,2*i+1控制输出最长一行的数量
{
printf("*");
}
printf("\n");
}//实现上三角的打印
for(i = 0; i<n-1;i++)//比上三角少一行,n的数量减一
{
int j = 0;
for(j = 0;j<=i;j++)
{
printf(" ");
}
for(j = 0;j<2*(n-1-i)-1;j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
2.素数的判断
素数即质数,一个数的约数只有1和它本身的数。
int isPrime(int n)//函数判断素数
{
int i = 0;
for(i = 2; i<=sqrt(n); i++)//sqrt(n)减少比较次数,实现函数的优化
{
if(n % i == 0)
return 0;
}
return 1;///是素数返回1
}
int main()
{
int i = 0;
int count = 0;
for(i = 2;i<=200;i++)
{
int ret = isPrime(i);
if(ret == 1)
{
count++;
}
}
printf("%d\n",count);
return 0;
}