1.1输入输出习题错误

------------恢复内容开始------------

1.cin写成下面这个样子

#include <iostream>
using namespace std;

int main(){
    int A,B,C,D;
    cin >> A >> B >> C >> D >>;
    cout << (A*B)-(C*D) <<endl;
    system("pause");
    return 0;
}

cin 的D后面没有尖括号,直接打分号

2.读取四行输入的值不用四行cin,cin一行读4个也行,还有直接scanf("%d%d%d%d",a,b,c,d);,scanf会过滤掉空格和回车

3.调用<iostream>头文件,编译时间会变慢,用万能头文件更慢

4.string只能用cin读

5.输出菱形,用曼哈顿距离

 

#include <cstdio>
#include <cmath>
using namespace std;
int main(){
    int n;
    scanf("%d",&n);
    int cx = n/2;
    int cy = n/2;
    for(int x = 0;x<n;x++){
        for (int y = 0;y<n;y++){
            int s = abs(cx-x)+abs(cy-y);
            if(s>n/2){
                printf(" ");
            }
            else{
                printf("*");
            }
        }
        printf("\n");
    }
    return 0;
}

用找规律的笨办法还是麻烦很多

#include <cstdio>
using namespace std;
int main(){
    int n;
    scanf("%d",n);
    for(int i = 1;i<n;i+=2){
        for(int j = 0;j<(n-i)/2;j++) printf(" ");
        for(int j = 0;j<i;j++) printf("*");
        for(int j = 0;j<(n-i)/2;j++) printf(" ");
        printf("\n");
    }
    for (int j = 0 ;j<n;j++) printf("*");
    printf("\n");
    for(int i = n-2;i>0;i-=2){
        for(int j = 0;j<(n-i)/2;j++) printf(" ");
        for(int j = 0;j<i;j++) printf("*");
        for(int j = 0;j<(n-i)/2;j++) printf(" ");
        printf("\n");
    }
}

 

posted @ 2021-10-30 10:43  乐池  阅读(45)  评论(0)    收藏  举报