1.写一个函数判断一个数是不是素数
#include<stdio.h>
int IsPrime(int x)
{
if ( x == 1 )
return 1;
if ( x == 2 )
return 1;
int i=0;
for(i=2;i<x;++i)
{
if ( x % i == 0)
return 0;
}
return 1;
}
int main()
{
int n=9;
printf("%d",IsPrime(n));//1是素数,0不是素数
return 0;
}
结果:0,所以9不是素数
2 .写一个函数判断一年是不是闰年
#include<stdio.h>
int IsLeepYear(int x)
{
if ( n % 100 == 0)
{
if (n%400==0)
return 1;
else
return 0;
}
else if(n%4==0)
return 1;
else
return 0;
}
int main()
{
int n=2000;
printf("%d\n",IsLeepYear(n));
return 0;
}
结果:1,所以2000年是闰年
3 .实现strlen函数
#include<stdio.h>
int Strlen(const char* str)
{
int count =0;
while(*str)
{
if(*str!='\0')
{
++count;
++str;
}
}
return count;
}
int main()
{
char str[]="hello,world";
printf("%d\n",Strlen(str));
return 0;
}
结果:11,字符串长度为11
4.用递归实现strlen
#include<stdio.h>
int Strlen(const char* str)
{
if(*str=='\0')
return 0;
else
return 1+Strlen(str+1);
}
int main()
{
char str[]="hello,world";
printf("%d\n",Strlen(str));
}
结果:11,和之前非递归的答案一样
5 .接受一个无符号整形值,按照顺序打印他的每一位,例如:1234,输出:1 2 3 4(用递归方法)
#include<stdio.h>
void Print(int x)
{
if ( x > 9 )
Print(x/10);
printf("%d ",x%10);
}
int main()
{
int n=1234;
Print(n);
return 0;
}
1万+

被折叠的 条评论
为什么被折叠?



