首页 » 入门组内容 » 正文

第一次课

捷凡教育OJ:http://oj.jiefanjiaoyu.com

while(表达式){
       循环体;
}
do{
       循环体;
}while(表达式);  
for(起始条件; 结束条件; 循环增量){
       循环体;
}

表达式:若表达式的值为真(正确),则循环继续.

例题

1+2+3+· · · · +99+100的和

int sum =0;

for写法:

for(int i=1; i<=100; i++){
         sum = sum + i;  
}

while写法:

int i=1; 

while(i<=100){
       sum += i ; 
       i++;  
}

do{}while()写法:

int i=1; 
do{
       sum += i ; 
       i++;  
while(i<=100); //注意这里有’;’符号

猜数游戏.(选讲) 其中随机生成函数,能够随机生成一个数。

阶乘问题.

for循环写法:

int sum=1;  
for(int i=1; i<=10; i++){
    sum = sum * i;  
}

阶乘问题的越界.

角谷静夫的猜想.

循环的嵌套,打印长宽为10的正方形。

for(int i=1; i<=10; i++){
       for(int j=1; j<=10; j++){
              printf(“#”);  
       }
}

作业:OJ上画三角形的1、3、5

break与continue

当执行到break时,循环中止,从循环后的第一条语句开始执行。

当执行到continue时,跳过循环体中continue后的语句,执行下一次循环。

int n;  

for(int i=1; i<=10; i++){
       cin>> n;  
       if(n == 100)break;  
       else cout<<n<<endl;  
}
for(int i=1; i<=10; i++){
       cin>> n;  
       if(n == 100)continue;    
       else cout<<n<<endl;  
}

数组:

定义数组:int a[10]; //定义了一个具有10个元素的数组

使用:a[0],a[1],a[2]···· · · · · a[9]可以认为时int类型的变量,中括号中的数字称为下标。

初始化:全局数组,局部数组等分开讲

int a[10];  
for(int i=0; i<=9; i++){
    a[i]=10;  //将所有元素值设为10
}
for(int i=0; i<=9; i++){
    cout<<a[i]<<endl;  
}

二维数组:元素是数组的数组。

int a[10][10];  
for(int i=0; i<10; i++){
    for(int j=0; j<10; j++){
        ……;  
    }
}

模拟二维数组……

例题1:输入10个整数,将其最大值和最小值进行调换,输出调整后的数组。(无相同)
在输入过程中,记录最大值、最小值的位置,输入完成后,进行调换,输出数组。

例题2:输入一个5*5的矩阵,编程计算,两条对角线的元素之和。

         两个下标相同则为正对角线上的元素,两个下标相加得6则是反对角线。

例题3:杨辉三角

#include<bits/stdc++.h>

int main(){
    const int maxn = 10;
    int ans[maxn][maxn];
    int n;
    scanf("%d",&n);
    for(int i = 0;i < n;i++){
        for(int j = 0;j < i+1;j++){
            if(i >= 2 && (j >= 1 && j < i)){
                ans[i][j] = ans[i-1][j-1] + ans[i-1][j];
            }
            else{
                ans[i][j] = 1;
            }

            printf("%4d",ans[i][j]);

        }
            printf("\n");

    }
    return 0;
}


赞 (0)

发表评论

− 8 = 1