1、编写程序,计算下列分段函数y=f(x)的值。
y= -x+2.5 0<= x <2
y=2-1.5(x-3)(x-3) 2<= x <4
y=x/2-1.5 4<= x <6
1 #include<iostream> 2 using namespace std; 3 4 int main(){ 5 double x=0; 6 cout<<"please input a num 0-6:"<<endl; 7 cin>>x; 8 if(x<0||x>=6){ 9 cout<<"输入不合法"<<endl; 10 return 0; 11 } 12 13 if(0<=x&&x<2) 14 cout<<"y=-x+2.5 x= "<<x<<"y= "<<2.5-x<<endl; 15 else if(x<4) 16 cout<<"y=2-1.5(x-3)(x-3) x= "<<x<<"y= "<<2-1.5*(x-3)*(x-3)<<endl; 17 else 18 cout<<"y=x/2-1.5 x= "<<x<<"y= "<<x/2.0-1.5<<endl; 19 20 return 0; 21 }//main
2、编写程序,读入一个整数 N。若 N 为非负数,则计算 N 到 2N 之间的整数和;若 N 为一个负数,则求 2N 到 N 之间的整数和。
1 #include<iostream> 2 using namespace std; 3 4 int main(){ 5 6 int n; 7 cout<<"please input an integer:"<<endl; 8 cin>>n; 9 if(n>=0) 10 cout<<(n+2*n)*(n+1)/2<<endl; 11 else 12 cout<<(n+2*n)*(1-n)/2<<endl; 13 14 return 0; 15 }//main
3、 设N是一个四位数,它的 9 倍恰好是其反序数(例如:1234的反序数是4321),求N的值。
1 #include<iostream> 2 using namespace std; 3 4 int main(){ 5 int n; 6 int reverse=0; 7 for(n=1000;n<10000;++n){ 8 reverse=(n%10)*1000+(n%100)/10*100+(n%1000)/100*10+(n%10000)/1000; 9 if(9*n==reverse){cout<<n<<endl; 10 cout<<"9n="<<9*n<<endl; 11 cout<<"re="<<reverse<<endl;} 12 } 13 return 0; 14 }//main
4、 N个人围成一圈顺序编号,从1号开始按1、2、3顺序报数,报3者退出圈外,其余的人再从1、2、3开始报数,报3的人再退出圈外,依次类推。请按退出顺序输出每个退出人的原序号。要求使用环行链表编程。
1 #include<iostream> 2 #include<stdlib.h> 3 using namespace std; 4 5 6 struct factor{ 7 factor* front; 8 int order; 9 factor* next; 10 }; 11 struct fs{ 12 factor* first; 13 factor* last; 14 int count; 15 }; 16 17 int main(){ 18 int n; 19 cout<<"please input a number"<<endl; 20 cin>>n; 21 fs* list=(fs*)malloc(sizeof(fs)); 22 list->count=0; 23 list->first=NULL; 24 list->last=NULL; 25 26 for(int i=1;i<=n;++i){ 27 factor* f=(factor*)malloc(sizeof(factor)); 28 f->front=NULL; 29 f->next=NULL; 30 f->order=i; 31 if(list->first==NULL){ 32 f->front=f; 33 f->next=f; 34 list->first=f; 35 list->last=f; 36 } 37 else{ 38 f->front=list->last; 39 f->next=list->first; 40 list->last->next=f; 41 list->last=f; 42 list->first->front=f; 43 } 44 list->count++; 45 } 46 47 factor* f=list->first; 48 for(int j=1;list->count>0;j++){ 49 factor* d=f; 50 f=f->next; 51 52 if(j%3==0){ 53 list->count--; 54 55 d->front->next=d->next; 56 d->next->front=d->front; 57 cout<<d->order<<" "; 58 free(d); 59 } 60 61 } 62 63 64 return 0; 65 }