分数序列和
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和。
#include<stdio.h>
int main()
{
int n,t,number=20;
float a=2,b=1,s=0;
for(n=1;n<=number;n++)
{
s=s+a/b;
t=a;a=a+b;b=t;
}
printf("sum is %9.6f\n",s);
}
猜岁数
有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁。问第 4 个人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后问第一个人,他说是 10 岁。请问第五个人多大?
#include<stdio.h>
int age(int n)
{
int n;
int c;
if(n==1) c=10;
else c=age(n-1)+2;
return c;
}
int main()
{ printf("%d",age(5));
}
复制部分字符串
键盘输入一个长度为len(1 <= len < 30)的字符串,再输入一个正整数 m(1 <= m <= len),将此字符串中从第 m 个字符开始的剩余全部字符复制成为另一个字符串,并将这个新字符串输出。要求用指针处理字符串。
#include <stdio.h>
#include <string.h>
int main() {
char str[30]={0};
scanf("%s",str);
int n=0;
scanf("%d",&n);
char *p=&str[n-1];
for(int i=0;i<strlen(str)-n+1;i++)
{
printf("%c",*(p+i));//str指向h,h+6=o,因此h+(n-1)
}
return 0;
}