1> 输入一个数,计算是否是完美数
完美数:除本身约数和等于本身6:123
1+2+3==6
#include<stdio.h>
int main(int argc, const char *argv[])
{
int num,i,sum=0;
printf("please enter a number:");
scanf("%d",&num);
for(i=1;i<num;i++)
{
if(num%i==0)
{
sum+=i;
}
}
if(sum==num)
{
printf("The num is a perfect num!\n");
}
else
{
printf("The num is not a perfect num!\n");
}
return 0;
}
2> 课堂案例
2.1 输入一个数,判断是否为素数
#include<stdio.h>
#include<math.h>
int main(int argc, const char *argv[])
{
int num,i,count=0;
printf("please enter a number:");
scanf("%d",&num);
for(i=2;i<=sqrt(num);i++)
{
if(num%i==0)
{
count++;
}
}
if(count==0&&num!=1)
printf("The num is a prime\n");
else
printf("The num is not a prime\n");
return 0;
}
2.2实现图形打印
#include<stdio.h>
int main(int argc, const char *argv[])
{
for(int i=1;i<=4;i++)
{
for(int j=1;j<=i;j++)
{
printf("*");
}
printf("\n");
}
printf("\n");
for(int i=1;i<=4;i++)
{
for(int j=1;j<=5-i;j++)
{
printf("*");
}
printf("\n");
}
printf("\n");
for(int i=1;i<=4;i++)
{
for(int j=1;j<=5-i;j++)
{
printf(" ");
}
for(int k=1;k<=i;k++)
{
printf("*");
}
printf("\n");
}
printf("\n");
for(int i=1;i<=4;i++)
{
for(int j=1;j<=i;j++)
{
printf(" ");
}
for(int k=1;k<=5-i;k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
2.3 联系穷举法:百钱买百鸡
#include<stdio.h>
int main(int argc, const char *argv[])
{
int x,y,z;
for(x=0;x<=20;x++)
{
for(y=0;y<=33;y++)
{
for(z=0;z<=100;z++)
{
if(5*x+3*y+z/3==100&&x+y+z==100&&z%3==0)
{
printf("x=%d y=%d z=%d\n",x,y,z);
}
}
}
}
return 0;
}
2.4判断是否为回文数
#include<stdio.h>
int main(int argc, const char *argv[])
{
int num,sum=0;
printf("please enter num:");
scanf("%d",&num);
int t=num;
while(num!=0)
{
sum=sum*10+num%10;
num/=10;
}
if(sum==t)
printf("Yes\n");
else
printf("No\n");
return 0;
}
2.5输入一个数,计算各数字之和
#include<stdio.h>
int main(int argc, const char *argv[])
{
int num,sum=0;
printf("please enter a num:");
scanf("%d",&num);
do
{
sum+=num%10;
num/=10;
}while(num%10!=0);
printf("sum=%d\n",sum);
return 0;
}
思维导图: