基本复习
1.题目要求:给一个不多于五位的整数数字,要求:
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出各位数字,例如:原数为321,则输出123。
AC代码(原创):
#include <iostream> #include <cstring> using namespace std; int main( ) { char n[101]; int length; cin>>n; //1.获取长度(strlen) length = strlen(n); cout<<length<<endl; //2.获取每一位的数字 for(int j=0; j<length; j++) { cout<<n[j]<<" "; } cout<<endl; //3.倒序输出 for(int i=length-1; i>=0; i--) { cout<<n[i]; } return 0; }
最后,感谢数组大哥!
✘☚▏☹‥☽▼▶☺☒ㅙㅟㅁㄸㄸㄷㄷㅎㄴㅘㅙㅙㅁ龘龑嫑勥嘦嘦槑嘂囍嬲嫐靐炛嫑恏氼勥槑卍〦〤〨〩〩☚●▶▶▂▏×☺♠☟
2.圆塔的高度:
要求:现有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),
圆半径为1。塔高为10米,塔外无其它建筑物,今输入任一点的坐标,求该点的建筑高度(塔外高度为0)。
下图:
AC代码:
#include <iostream> using namespace std; int main( ) { int h=10; float x1=2, y1=2, d1; float x2=-2, y2=2, d2; float x3=-2, y3=-2, d3; float x4=2, y4=-2, d4; float x,y; printf("请输入一个点(x,y):\n\n"); scanf("%f%f",&x,&y); /* 先提一下两点之间求距离的公式: d = sqrt( ((x2-x1)*(x2-x1)) + ((y2-y1)*(y2-y1)) ) */ d1 = ((x-x4) * (x-x4)) + ((y-y4) * (y-y4)); d2 = ((x-x1) * (x-x1)) + ((y-y1) * (y-y1)); d3 = ((x-x2) * (x-x2)) + ((y-y2) * (y-y2)); d4 = ((x-x3) * (x-x3)) + ((y-y3) * (y-y3)); if(d1>1 && d2>1 && d3>1 && d4>1) h=0; printf("\n该点的高度为:%d\n\n",h); //system("Pause"); return 0; }
PS:~~!两点之间求距离的公式灰常重要!~~
糹飠丩尢皿⻊𠘨卩卩辶礻纟夬⺷艹亠耂臼丬丬尢⺮勹⺪覀⺻臼糹丬廾弐焱龑淼靐囍朤朤槑
炛恏兲奣奣烎氼嘦嬲恏氼槑炛嘂囍嫐龘嫑烎忈淼淼龑氼勥槑槑嘂嘦嫑炛恏靐靐囍恏靐靐龘
【全都认识算你厉害!】