1、想知道某一年的某一月是多少天
//计算某一年某一月有多少天
int main(){
int year = 0;
int month = 0;
int big[]={1,3,5,7,8,10,12};
int little[]={4,6,9,11};
while(cin>>year>>month){
if(month!=2){
for(int i=0;i<7;i++){
if(month==big[i])
{
cout<<"31"<<endl;
break;//跳出循环!!!
}
}
for(int i=0;i<4;i++){
if(month==little[i])
{
cout<<"30"<<endl;
break;
}
}
}
//2月的天数
else{
if((year%4==0&&year%100!=0)||year%400==0)
cout<<"29"<<endl;
else cout<<"28"<<endl;
}
}
return 0;
}
方法2:
int main(){
int y = 0;
int m = 0;
int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};//使用枚举法
while(cin>>y>>m){
int day=days[m-1];//数组下表从0开始
//闰年的2月为29天,平年为28天
if((y%4==0&&y%100!=0)||y%400==0){
if(m==2){
day+=1;
}
}
cout<<day<<endl;
}
return 0;
}
2、实现一个简单的计算器
int main(){
double n1 = 0.0;
double n2 = 0.0;
char op = 0;
while (cin>>n1>>op>>n2){
switch(op){
//注意是单引号,每一个case对应一个break
case'+':cout<<n1+n2<<endl;break;
case'-':cout<<n1-n2<<endl;break;
case'*':cout<<n1*n2<<endl;break;
case'/':
if(n2==0){
cout<<"除数不能为0"<<endl;
}
else printf("%.4lf",n1/n2);break;//想要精确小数位用printf
default:cout<<"Error"<<endl;break;
}
}
return 0;
}
3、打印由*组成的正方形
int main(){
int n = 0;
while(cin>>n) {
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
cout<<"*";
}cout<<endl;
}
}
return 0;
}
4、打印由*组成的直角三角形
int main(){
int n = 0;
while(cin>>n) {
for(int i = 0;i<n;i++){
for(int j = 0;j<i;j++){
cout<<"* ";
}cout<<endl;
}
}
return 0;
}
5、打印金字塔
int main(){
int n = 0;
while(cin>>n) {
for(int i = 0;i<n;i++){
for(int j = 0;j<n-i-1;j++){
//打印空格
cout<<" ";
}
for(int j = 0;j<=i;j++){
//打印每一行的*
cout<<" *";//注意有一个空格
}
cout<<endl;
}
}
return 0;
}
5
*
* *
* * *
* * * *
* * * * *
5(2)、若cout<<" *";改为cout<<"*";
5
*
**
***
****
*****
5(3)、另一种形式的金字塔
int main(){
int n = 0;
while(cin>>n) {
for(int i = 1;i<=n;i++){
for(int j = 1;j<=n-i;j++){
//打印空格
cout<<" ";
}
for(int j = 1;j<=i*2-1;j++){
//打印每一行的*
cout<<"*";//注意有一个空格
}
cout<<endl;
}
}
return
5
*
***
*****
*******
*********