1.输入一个数,判断是否是完美数,完美数:正序和逆序的结果一致
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int num;
printf("please enter number:");
scanf("%d",&num);
int sum=0,a=num;
while(num!=0)
{
sum=sum*10+num%10;
num/=10;
}
printf("sum=%d\n",sum);
if(sum==a)
printf("yes\n");
else
printf("no\n");
return 0;
}
2.打印图形
*
**
***
****
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=5-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("*");
putchar(10);
}
return 0;
}
3.打印图形
****
***
**
*
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=i;j++)
printf(" ");
for(j=1;j<=5-i;j++)
printf("*");
putchar(10);
}
return 0;
}
4.输入两个数,计算最大公约数,以及最小公倍数
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int num1,num2;
printf("please enter num1 and num2:");
scanf("%d%d",&num1,&num2);
int i,j;
for(i=num1;i>0;i--)
{
if(num1%i==0&&num2%i==0)
break;
}
for(j=num1;j<=num1*num2;j++)
{
if(j%num1==0&&j%num2==0)
break;
}
printf("最大公约数为%d,最小公倍数为%d\n",i,j);
return 0;
}
5.输入一个数,判断是否是素数,素数:只能被1和本身整除
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, const char *argv[])
{
int n;
printf("please enter n:");
scanf("%d",&n);
int flag=0;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
printf("%d不是素数\n",n);
flag++;
break;
}
}
if(flag==0)
printf("%d是素数\n",n);
return 0;
}