发现最近不管睡得多晚,总能早早爬起来_(:з」∠)_今天六点多醒的,然后刷手机到八点起床,打开计蒜客忽然想入个键盘,于是就去买了个键盘,顺带写了几句话。
今天的内容从while开始(感觉像重新学了一遍C = =)
while和for算的是1加到100,do-while算的是1加到num(输入值)。
#include<iostream>
using namespace std;
int main()
{
int sum=0;
int i=1;
while(i<=100){
sum=sum+i;
i=i+1;
}
cout<<sum<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main(){
int num;
cin>>num;
int sum=0;
int i=1;
do{
sum=sum+i;
i++;
}while(i<=num);
cout<<sum<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int i,sum=0;
for(i=1;i<=100;i++){
sum=sum+i;
}
cout<<sum<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int i,sum=0;
for(i=1;i<11;i++){
sum+=i;
continue;
cout<<i<<endl;
}
cout<<sum<<endl;
return 0;
}
#include<iostream>
using namespace std;
bool is_prime(int n){
if(n<2){
return false;
}
for (int i=2;i*i<=n;i++){
if(n % i == 0){
return false;
}
}
return true;
}
int main(){
int N;
cin>>N;
if(is_prime(N)){
cout<<"YES"<<endl;
}else{
cout<<"NO"<<endl;
}
return 0;
}
艾玛又不会写了,百度了答案要么就是直接return 0然后break的,要么就是写成函数再判断的,一直搞不清楚怎么在i自增完了之后再输出YES,算法渣渣。
#include<iostream>
using namespace std;
int add(int a,int b);
int main()
{
int x;
x = add(1,2);
cout<<x<<endl;
return 0;
}
int add(int a,int b){
return a+b;
}
这里直接举先声明后面再实现内容的函数了,到目前为止,看上去和C还是没什么区别= =
#include<iostream>
using namespace std;
int sum(int max);
int main(){
cout<<sum(100)<<endl;
return 0;
}
int sum(int max){
if(max>1){
return max+sum(max-1);
}else{
return 1;
}
}
斐波那契数列是一种非常有意思的数列,由 0 和 1 开始,之后的斐波那契系数就由之前的两数相加。用数学公式定义斐波那契数列则可以看成如下形式:
F0=0
F1=1
Fn=Fn-1+Fn-2我们约定Fn表示斐波那契数列的第n项,你能知道斐波那契数列中的任何一项吗?
输入包括一行,包括一个数字N(0≤N≤50)。
输出包括一行,包括一个数字,为斐波那契数列的第N项的值。
#include<iostream>
using namespace std;
int add(int n){
if(n==0||n==1){
return n;
}else{
return add(n-1)+add(n-2);
}
}
int main(){
int N;
cin>>N;
cout<<add(N)<<endl;
}
#include <iostream>
using namespace std;
int main(){
int arr[5]={4,5,3,1,9};
arr[2]=55;
int sum=0,i;
for(i=0;i<5;i++){
sum+=arr[i];
}
cout<<sum<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main(){
int arr[2][3],arr2[3]={0,0,0};
int i,j;
for(i=0;i<2;i++){
for(j=0;j<3;j++){
cin>>arr[i][j];
arr2[j]+=arr[i][j];
}
}
cout<<arr2[0]<<" "<<arr2[1]<<" "<<arr2[2]<<endl;
return 0;
}
输入第一行包括由空格分开的整数M、N、T(0 < M < 200,0 < N < 200,T=0或1),其中M和N分别表示待处理矩阵的行数与列数,T为0时表示左右翻转,为1时表示上下翻转。
输出包括M行N列,每个数字之间用一个空格分隔,每一行行末均有一个空格,表示的是按照要求翻转后的矩阵。
#include<iostream>
using namespace std;
int main(){
int M,N,T;
cin>>M;
cin>>N;
cin>>T;
int arr[M][N];
int i,j,temp;
for(i=0;i<M;i++){
for(j=0;j<N;j++){
cin>>arr[i][j];
}
}
if(T==0){
for(i=0;i<M;i++){
for(j=0;j<N/2;j++){
temp=arr[i][j];
arr[i][j]=arr[i][N-1-j];
arr[i][N-1-j]=temp;
}
}
}else{
for(j=0;j<N;j++){
for(i=0;i<M/2;i++){
temp=arr[i][j];
arr[i][j]=arr[M-1-i][j];
arr[M-1-i][j]=temp;
}
}
}
for(i=0;i<M;i++){
for(j=0;j<N;j++){
cout<<arr[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
每次做到这个题目,做肯定是能做出来,但总要折腾半天,老是弄混M,N和i,j,哪个代表行哪个代表列,晕死。
待会要去开会了,今天到此结束。
1
puncsky 2015-04-26 12:46:35 +08:00
coding style 有点儿乱
|
2
oott123 2015-04-26 16:57:58 +08:00
吹泡泡是啥意思……
|
5
puncsky 2015-04-27 14:32:41 +08:00 1
可以看下 code complete 或者 Google 的 coding style guideline
|