现在的位置: 首页 > 综合 > 正文

杭电ACM 1001,1040,1096

2013年09月20日 ⁄ 综合 ⁄ 共 1794字 ⁄ 字号 评论关闭

http://acm.hdu.edu.cn/showproblem.php?pid=1001 

#include<iostream>
using namespace std;
int main(){
  long int n,sum=0;
  while(cin>>n){
  	for(int i=0;i<=n;++i){
  	   sum+=i;
  	}
  	 cout<<sum<<endl<<endl;
  	 sum=0;
  	}
return 0;
}

如果用高斯公式S=(n+1)n/2的话,很可能超出32bit内存限制sum=(1+n)*n/2;

http://acm.hdu.edu.cn/showproblem.php?pid=1040 

#include<iostream>
using namespace std;
int main(){
int T,N,a[1000],n;
cin>>T;
while(T--){
cin>>N;
for(int i=0;i<N;i++){
cin>>n;
a[i]=n;
}
for(int i=0;i<N-1;++i){
for(int j=i+1;j<N;++j){
if(a[i]>a[j])
  swap(a[i],a[j]);
}
}
for(int i=0;i<N-1;++i){
 cout<<a[i]<<" ";
}
cout<<a[N-1]<<endl;  
  
}
}

http://acm.hdu.edu.cn/showproblem.php?pid=1096 

#include<iostream>
using namespace std;
int main(){
  int cont1,cont2,sum=0,a;
  cin>>cont1;
  while(cont1--){
  	 cin>>cont2;
  	 while(cont2--){
  	 cin>>a;
  	sum+=a;
  }
  cout<<sum<<endl;
  if(cont1>0)
  cout<<endl;
  sum=0;
  	}
return 0;
}
#include<iostream>
using namespace std;
int main(){
char a[3],b[3],c[3];
cin>>a>>b;
for(int i=0;i<3;i++)
cout<<a[i]-48+b[i]-48;    //cout里有int型的48,会把char转化正ascii码~~!!!
}

一个易错点:输入的是字符型的,最后cout的是int型的,而下一个是cout的 char型的~~!!

#include<iostream>
using namespace std;
int main(){
char a[3],b[3],c[3];
cin>>a>>b;    //空格是分隔符
for(int i=0;i<3;i++)
c[i]=a[i]+b[i]-48;
for(int i=0;i<3;i++)
cout<<c[i];    
}

输入一整行的字符串时候,

   如果用string buf;来保存:

  getline( cin , buf ); 

如果用char buf[ 255 ]; 来保存: 
cin.getline( buf, 255 );

#include<iostream>
#include<string>
using namespace std;
int main(){
string buf;
getline(cin,buf);
cout<<buf<<endl;
char buffer[20];
cin.getline(buffer,20,'\n');
int len=strlen(buffer);
for(int i=0;i<len;++i)
cout<<buffer[i];
}

getline 是一个函数,它可以接受用户的输入的字符,直到已达指定个数,或者用户输入了特定的字符。它的函数声明形式(函数原型)如下:

istream& getline(char line[], int size, char endchar = '\n');

不用管它的返回类型,来关心它的三个参数:

char line[]: 就是一个字符数组,用户输入的内容将存入在该数组内。

int size : 最多接受几个字符?用户超过size的输入都将不被接受。

char endchar :当用户输入endchar指定的字符时,自动结束。默认是回车符。

结合后两个参数,getline可以方便地实现: 用户最多输入指定个数的字符,如果超过,则仅指定个数的前面字符有效,如果没有超过,则用户可以通过回车来结束输入。

抱歉!评论已关闭.