1.计算1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100的值
#include<stdio.h>
int main() { int m=1; double sum=0.0; for(m=1;m<=100;m++) { if(m%2==0) { sum=(double)-1/m+sum;//奇数项求和 } else sum=(double)1/m+sum;//偶数项求和 } printf("%f\n",sum); return; }
2.
include<stdio.h> int main() { int i=1,count=0; for(i=1;i<=100;i++) { if((i%10==9)&&(i/10!=9))//只有个位上数字为9 { count++; } else if((i%10==9)&&(i/10==9))//十位和各位数字均为9 { count=count+2; } } printf("9的个数是:%d\n",count); return 0; }
3.自己编写一遍折半查找>
#include<stdio.h> int main() { int a[8]={1,2,3,5,6,7,8,9}; //自定义一个数组 int left=0,i=0,right=7; int mid,n; for(;i<8;i++) printf("%2d",a[i]); printf("\n请输入要查中的数:\n"); scanf("%d",&n); while(left<=right)//进行折半查找 { for(i=0;i<8;i++) { mid=(left+right)/2; if(n<a[mid]) { right=mid-1; } else { if(n==a[mid]) break; else left=mid+1; } } printf("这个数是数组中第%d个数\n",mid); return 0; } } 4.编写一个函数,它从一个字符串中提取一个子字符串。函数原型如下目标是:从数组起始位置向后偏移
#include<stdio.h> #include<string.h> int substr(char dst[], char src[],int start, int len); int main() { char dst[]={"abc"}; char src[]={"defghijklm"}; int start=3; int len=3; substr(dst,src,start,len); return 0; } int substr(char dst[], char src[],int start, int len) { int i=0; char *s=src; char *d=dst; for(i=0;i<6;i++) //偏移start位置后对数组各元素重新赋值 { src[i]=src[start]; start++; } int j=0; src[len]='\0'; //复制小标为len之前的字符 strcpy(dst,src); printf("%s\n",dst); return 0; 5.有一个分数序列2/1+3/2+5/3+8/5+13/8求出这个数列前20项的和
#include<stdio.h>
void main() { int a=1,i=1,b=2; double sum=0.00; int temp; for(i=1;i<=20;i++) { sum=sum+(double)b/a; temp=a; a=b; b=a+temp;; } printf("%lf\n",sum); } 6.一个球从100米高的自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求第次落地时,共经过多少米,第次反弹多高
#include<stdio.h> void main() { float h=100.0,l=0,h1=0; //h为每次弹跳之后的高度,l为经过的距离,h1为弹跳的高度 int i=1; for(i=1;i<11;i++) { l=l+h; h1=h/2; l=l+h1; h=h/2; } printf("总共经过%f米\n第10次反弹%f米\n",l,h1); }
7.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,好不过瘾,又多吃了一个。第二天早上又吃了剩下的桃子的一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个,到第天早上想再吃的时候,就剩下一个桃子。求第一天共摘多少个桃子。
#include<stdio.h> int main() { int x,i=1; //x为共摘得的桃子数 int temp=1; //第10天剩下的桃子 for( i=9;i>0;i--) //通过循环依次求前一天剩下的桃子数 { temp=2*(temp+1); } printf("%d\n",temp); return 0; }
C++练习题
最新推荐文章于 2024-01-04 15:58:20 发布