练习1:输入一个数,判断是否是完美数
完美数:正序和逆序的结果一致
#include<stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int n=0;
int reverse=0;
int num=n;
printf("please enter n:");
scanf("%d",&n);
printf("n=%d\n",n);
while(n)
{
reverse=reverse*10+n%10;
n/=10;
}
printf("reverse=%d\n",reverse);
printf("n=%d\n",n);
if(reverse==num)
{
printf("%d是完美数\n",n);
}
else
{
printf("%d不是完美数\n",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 a=0,b=0;
printf("please enter a&&b:");
scanf("%d%d",&a,&b);
int remainder,c,d;
remainder=a%b;
c=a;
d=b;
if(!remainder)
{
printf("最大公约数为:%d\n",b);
printf("最小公倍数为:%d\n",a);
}
else
{
while(remainder)
{
a=b;
b=remainder;
remainder=a%b;
}
printf("最大公约数为:%d\n",b);
printf("最小公倍数为:%d\n",c*d/b);
}
return 0;
}
练习5:输入一个数,判断是否是素数
素数:只能被1和本身整除
#include<stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int x=0;
int n;
printf("please enter x:");
scanf("%d",&x);
for(n=2;n<=x;n++)
{
if(x%n==0)
break;
}
if(n==x) //如果那个因子就是它本身,那么x就是素数,否则不是
printf("%d是素数\n",x);
else
printf("%d不是素数\n",x);
return 0;
}