习题:
定义一个函数:求某数字(3位数)是否是水仙花(每一位数的立方=本身)
153=1^3+5^3+3^3
#include
void fun(int x)
{
int i=0,a,b=0;
int c = x;
for(i=0;i<3;i++)
{
a = x%10;
b = b + a*a*a;
x = x/10;
}
if(b==c)
{
printf("是水仙花数!");
}
else
{
printf("不是水仙花数!");
}
}
void main()
{
fun(153);
}
习题:
定义一个函数:判定某个整型数组中是否存在某个值
int findKey(int buf[100],int ilen,int key)//buf数组源,ilen元素个数,key查找关键值
{ }
#include
void findKey(int buf[100],int ilen,int key)
{
int i =0,a,j;
for(i=0;i<ilen;i++)
{
if(buf[i]==key)
{
printf("存在%d",key);
j = 1;
break;
}
}
if(j!=1)
{
printf("不存在%d",key);
}
}
void main()
{
int buf[100] = {1,4,3,7,6,5,2,8,9};
findKey(buf,9,1);
}
习题:
定义一个函数:求输入的“字符串”是否是回文 "abcdcba"
#include
void fun(char buf[10])
{
int i=0,j=0;
while(buf[i]!='\0')
i++;
for(;j<=i/2;j++)
{
if(buf[j]==buf[i-j-1])
{
if(j==(i-1)/2)
{
printf("yes\n");
return;
}
}
else
{
printf("no\n");
return;
}
}
}
void main()
{
char buf[10] = "abcdcba";
fun(buf);
}
习题:
定义一个函数:求某年/月/日是否是星期几?
功能:求星期
返回值:[0-6] 0-周日 1周一 2周二 ...
函数名:int weekday(int year,int month,int day);
算法:(基姆拉尔森)Weekday=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7
#include
int weekday(int y,int m,int d)
{
if(m==1||m==2) { //如果不写if来判断m==1 || m==2 的话,会有误差.
m+=12;
y--;
}
int w = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
return w+1;
}
void main()
{
int y=2018,m=1,d=1;
printf("这天是星期:%d\n",weekday(y,m,d));
}
定义一个函数:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
#include
void main()
{
double sn = 100;
double hn = sn/2;
int i = 0;
for (i = 2;i<=10;i++){
sn = sn + hn * 2;
hn = hn / 2;
}
printf("第%d次落地经过%f米",i-1,sn);
}