2 solutions

  • 1
    @ 2024-8-24 14:41:30
    1. 首页
    2. 题库
    3. 训练
    4. 比赛
    5. 作业
    6. 讨论
    7. 更多
    8. 信奥集训
    9. 秦钰城1

    #315. 笔记

    ID: 315传统题1000ms256MiB尝试: 1已通过: 0难度: 10上传者:jack

    当前没有测试数据。

    八种数据基础类型

    整型:

    short 短整型 2Byte %hd

    int 整型 4Byte %d

    long 长整型 4Byte %ld

    long long 超长整型 8Byte %lld

    浮点数:

    float 单精度浮点数 4Byte %f

    double 双精度浮点数 8Byte %lf

    其它:1Byte

    char 字符型 %c 9 '9' 'w' "我"

    bool 布尔类型 %d 非零->true->1 0<->false

    复习Day01

    基础数据类型 2+2+2 6

    输入输出

    1. 定义变量

    2. 输入: scanf("占位符1 占位符2",&变量1,&变量2);

    3. 输出: printf("a + b = %lf",变量);

      1. 字符宽度 %8d:右对齐、%-8d:左对齐

      2)小数点保留几位 默认:6位 %f %lf %.3f 保留三位 %.10lf

    4. 强制类型转换 (int)a

    5. ASCII码 表 ASCII<-相互转换->字符 大小写转换

    6. 运算符与表达式

      1. 算术运算符 % /
      2. 逻辑运算符 && || ^
      3. 自加、自减运算

    两大判断语句

    if判断

    语法

    1. if判断
    if(判断条件){
        //条件成立时执行
    }
    

    Copy

    1. if……else……
    if(判断条件){
        //条件成立时执行
    }else{
        // 条件不成立时执行
    }
    

    Copy

    1. if……else if……else……
    if(条件1){
        //条件1成立时执行
    }else if(条件2){
        // 条件2成立时执行
    }else if(条件3){
        // 条件3成立时执行
    }else{
        //所有条件均不成立时执行
    }
    

    Copy

    switch 语句

    语法

    switch(变量){
        case 值1: //变量等于值1时执行
        case 值2: //变量等于值2时执行
        case 值3: //变量等于值3时执行
        ……
        default: //所有值都不匹配时执行
    }
    

    Copy

    举例

    成绩判断:输入一个分数(1-10),输出对应分数的等级 6分以下 E, 6分D, 7分C,8分B,9分或者10分A。

    #include<cstdio>
    #include<iostream>
    using namespace std;
    
    int main(void){
    	int score;
    	scanf("%d",&score);
    	switch(score/10){
    		case 10:
    		case 9:
    			printf("A");
    			break;
    		case 8:
    			printf("B");
    			break;
    		case 7:
    			printf("C");
    			break;
    		case 6:
    			printf("D");
    			break;
    		default:
    			printf("E");
    	}
    	return 0;
    }
    

    Copy

    小玉家的电费

    #include<cstdio>
    #include<iostream>
    using namespace std;
    #define L1 0.4463
    #define L2 0.4663
    #define L3 0.5663
    int main(void){
    	int n;
    	double money;
    	scanf("%d",&n);
    	if(n<=150){
    		money=n*L1;
    	}else if(n<=400){
    		money=150*L1+(n-150)*L2;
    	}else{
    		money=150*L1+250*L2+(n-400)*L3;
    	}
    	printf("%.1lf",money);
    	return 0;
    }
    

    Copy

    循环语句 (两大循环)

    for循环

    语法

    for(;;){
    
    }
    

    Copy

    小括号中有且仅有两个分号

    for(1初始化语句;2循环条件;4自加自减语句){
         //3循环条件成立时执行
    }
    

    Copy

    执行顺序:1 2 3 4 2 3 4 2 3 4……

    堂训 1-100 输出

    #include<cstdio>
    #include<iostream>
    using namespace std;
    
    int main(void){
    	for(int i=1;i<=100;i++){
    		printf("%d\n",i);
    	}
    	return 0;
    }
    

    Copy

    堂训2 输入一个数字n,打印一行n个星号

    #include<cstdio>
    #include<iostream>
    using namespace std;
    
    int main(void){
    	int n;
    	scanf("%d",&n);
    	for(int i=0;i<n;i++){
    		printf("*");
    	}
    	return 0;
    }
    

    Copy

    堂训3 输入一个数字n,打印n行,每行n个星号

    #include<cstdio>
    #include<iostream>
    using namespace std;
    
    int main(void){
    	int n;
    	scanf("%d",&n);
    	for(int j=0;j<n;j++){
    		for(int i=0;i<n;i++){
    			printf("*");
    		}
    		printf("\n");
    	}
    	return 0;
    }
    

    Copy

    堂训4 输入一个数字n,打印n行星号组成的三角形如下

    输入:3 输出:

    *
    **
    ***
    

    Copy

    代码:

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

    Copy

    堂训5 输入一个数字n,打印n行星号组成的三角形如下

    输入:3

    输出:

    *
     **
    ***
    

    Copy

    代码

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

    Copy

    堂训6 输入一个数字n,打印n行星号组成的三角形如下

    输入:3

    输出:

    *
     ***
    *****
    

    Copy

    代码:

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

    Copy

    while循环

    语法

    while(循环条件){
        //循环条件成立时执行
    }
    

    Copy

    do while循环

    语法

    do{
        //一定会执行一次,之后条件成立则执行。
    }while(循环条件);
    //注意末尾有个分号
    

    Copy

    一维数组

    定义:

    1. int a[105];//不带初始化
    2. int a[10]={1,2,3,4,5,6,7,8,9,10};//带初始化
    3. char a[5]={'a','b','c','d','e'};//字符数组带初始化定义

    二维数组

    定义:

    1. int a[3][2];
    2. int a[3][2]={{1,2},{3,4},{5,6}};

    字符串

    定义

    string a;

    string a="hello";

    cin>>a;//获取按照空格分割的字符串

    getline(cin,s);//获取带空格的一整行字符串

    1. 进入在线编程模式 (Alt+E)
    2. 递交
    3. 讨论 (0)
    4. 题解 (0)
    5. 文件
    6. 复制

    统计

    状态

    开发

    支持

    1. 关于
    2. 联系我们
    3. 隐私
    4. 服务条款
    5. 版权申诉
    6. Language
    7. Legacy mode
    8. 主题
    9. 滇ICP备18000821号 战码少年 qucode.cn 战码青少年编程 云南-昆明-专业青少年编程训练
    10. Worker 0, 13ms
    11. Powered by Hydro v4.9.24 Community
    • 0
      @ 2024-9-22 18:54:29
      1. 首页
      2. 题库
      3. 训练
      4. 比赛
      5. 作业
      6. 讨论
      7. 评测记录
      8. 更多
      9. 信奥集训
      10. 秦钰城1

      #315. 笔记

      ID: 315传统题1000ms256MiB尝试: 1已通过: 0难度: 10上传者:jack

      当前没有测试数据。

      八种数据基础类型

      整型:

      short 短整型 2Byte %hd

      int 整型 4Byte %d

      long 长整型 4Byte %ld

      long long 超长整型 8Byte %lld

      浮点数:

      float 单精度浮点数 4Byte %f

      double 双精度浮点数 8Byte %lf

      其它:1Byte

      char 字符型 %c 9 '9' 'w' "我"

      bool 布尔类型 %d 非零->true->1 0<->false

      复习Day01

      基础数据类型 2+2+2 6

      输入输出

      1. 定义变量

      2. 输入: scanf("占位符1 占位符2",&变量1,&变量2);

      3. 输出: printf("a + b = %lf",变量);

        1. 字符宽度 %8d:右对齐、%-8d:左对齐

        2)小数点保留几位 默认:6位 %f %lf %.3f 保留三位 %.10lf

      4. 强制类型转换 (int)a

      5. ASCII码 表 ASCII<-相互转换->字符 大小写转换

      6. 运算符与表达式

        1. 算术运算符 % /
        2. 逻辑运算符 && || ^
        3. 自加、自减运算

      两大判断语句

      if判断

      语法

      1. if判断
      if(判断条件){
          //条件成立时执行
      }
      

      Copy

      1. if……else……
      if(判断条件){
          //条件成立时执行
      }else{
          // 条件不成立时执行
      }
      

      Copy

      1. if……else if……else……
      if(条件1){
          //条件1成立时执行
      }else if(条件2){
          // 条件2成立时执行
      }else if(条件3){
          // 条件3成立时执行
      }else{
          //所有条件均不成立时执行
      }
      

      Copy

      switch 语句

      语法

      switch(变量){
          case 值1: //变量等于值1时执行
          case 值2: //变量等于值2时执行
          case 值3: //变量等于值3时执行
          ……
          default: //所有值都不匹配时执行
      }
      

      Copy

      举例

      成绩判断:输入一个分数(1-10),输出对应分数的等级 6分以下 E, 6分D, 7分C,8分B,9分或者10分A。

      #include<cstdio>
      #include<iostream>
      using namespace std;
      
      int main(void){
      	int score;
      	scanf("%d",&score);
      	switch(score/10){
      		case 10:
      		case 9:
      			printf("A");
      			break;
      		case 8:
      			printf("B");
      			break;
      		case 7:
      			printf("C");
      			break;
      		case 6:
      			printf("D");
      			break;
      		default:
      			printf("E");
      	}
      	return 0;
      }
      

      Copy

      小玉家的电费

      #include<cstdio>
      #include<iostream>
      using namespace std;
      #define L1 0.4463
      #define L2 0.4663
      #define L3 0.5663
      int main(void){
      	int n;
      	double money;
      	scanf("%d",&n);
      	if(n<=150){
      		money=n*L1;
      	}else if(n<=400){
      		money=150*L1+(n-150)*L2;
      	}else{
      		money=150*L1+250*L2+(n-400)*L3;
      	}
      	printf("%.1lf",money);
      	return 0;
      }
      

      Copy

      循环语句 (两大循环)

      for循环

      语法

      for(;;){
      
      }
      

      Copy

      小括号中有且仅有两个分号

      for(1初始化语句;2循环条件;4自加自减语句){
           //3循环条件成立时执行
      }
      

      Copy

      执行顺序:1 2 3 4 2 3 4 2 3 4……

      堂训 1-100 输出

      #include<cstdio>
      #include<iostream>
      using namespace std;
      
      int main(void){
      	for(int i=1;i<=100;i++){
      		printf("%d\n",i);
      	}
      	return 0;
      }
      

      Copy

      堂训2 输入一个数字n,打印一行n个星号

      #include<cstdio>
      #include<iostream>
      using namespace std;
      
      int main(void){
      	int n;
      	scanf("%d",&n);
      	for(int i=0;i<n;i++){
      		printf("*");
      	}
      	return 0;
      }
      

      Copy

      堂训3 输入一个数字n,打印n行,每行n个星号

      #include<cstdio>
      #include<iostream>
      using namespace std;
      
      int main(void){
      	int n;
      	scanf("%d",&n);
      	for(int j=0;j<n;j++){
      		for(int i=0;i<n;i++){
      			printf("*");
      		}
      		printf("\n");
      	}
      	return 0;
      }
      

      Copy

      堂训4 输入一个数字n,打印n行星号组成的三角形如下

      输入:3 输出:

      *
      **
      ***
      

      Copy

      代码:

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

      Copy

      堂训5 输入一个数字n,打印n行星号组成的三角形如下

      输入:3

      输出:

      *
       **
      ***
      

      Copy

      代码

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

      Copy

      堂训6 输入一个数字n,打印n行星号组成的三角形如下

      输入:3

      输出:

      *
       ***
      *****
      

      Copy

      代码:

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

      Copy

      while循环

      语法

      while(循环条件){
          //循环条件成立时执行
      }
      

      Copy

      do while循环

      语法

      do{
          //一定会执行一次,之后条件成立则执行。
      }while(循环条件);
      //注意末尾有个分号
      

      Copy

      一维数组

      定义:

      1. int a[105];//不带初始化
      2. int a[10]={1,2,3,4,5,6,7,8,9,10};//带初始化
      3. char a[5]={'a','b','c','d','e'};//字符数组带初始化定义

      二维数组

      定义:

      1. int a[3][2];
      2. int a[3][2]={{1,2},{3,4},{5,6}};

      字符串

      定义

      string a;

      string a="hello";

      cin>>a;//获取按照空格分割的字符串

      getline(cin,s);//获取带空格的一整行字符串

      1. 进入在线编程模式 (Alt+E)
      2. 递交
      3. 讨论 (0)
      4. 题解 (1)
      5. 文件
      6. 复制

      统计

      状态

      开发

      支持

      1. 关于
      2. 联系我们
      3. 隐私
      4. 服务条款
      5. 版权申诉
      6. Language
      7. Legacy mode
      8. 主题
      9. 滇ICP备18000821号 战码少年 qucode.cn 战码青少年编程 云南-昆明-专业青少年编程训练
      10. Worker 0, 12ms
      11. Powered by Hydro v4.9.24 Community
      • 1

      Information

      ID
      315
      Time
      1000ms
      Memory
      256MiB
      Difficulty
      10
      Tags
      (None)
      # Submissions
      1
      Accepted
      0
      Uploaded By