Press "Enter" to skip to content

Month: July 2017

奔跑的小人

啊哈C语言!逻辑的挑战

使用函数和switch()来改进《啊哈C·逻辑的挑战》中“奔跑的小人”一题的解法。

#include<stdlib.h>
#include<stdio.h>
#include<windows.h>
//在‘小人’前打印空格
void jump(int begin, int step){
        step = 1;
        while (step <= begin){
            printf(" ");
            step++;         
        }
    }   
int main(){ 
    int a = 0;
    int b,i;    
    do{
        system("cls");
        for(i = 1;i<4;i++){
            jump(a,b);
            switch(i){
                case 1:printf(" O\n");
                break;
                case 2:printf("<H>\n");
                break;
                case 3:printf("I I\n");
                break;
            }
        }
    sleep(1);
    a++;
    }while(a);
    return 0;
}

同时,如果要实现相反的小人运动方向,只需稍加修改。

#include<stdlib.h>
#include<stdio.h>
#include<windows.h>
void jump(int begin, int step){
        step = 10;
        while (step > begin){
            printf(" ");
            step--;         
        }
    }   
int main(){ 
    int a = 1;
    int b,i;    
    do{
        system("cls");
        for(i = 1;i<4;i++){
            jump(a,b);
            switch(i){
                case 1:printf(" O\n");
                break;
                case 2:printf("<H>\n");
                break;
                case 3:printf("I I\n");
                break;
            }
        }
        sleep(1);
        a++;
    }while(a<11);
    return 0;
}

九九乘法表

啊哈C语言!逻辑的挑战

使用for循环打印九九乘法表

#include<stdlib.h>
int main(){ 
    int i,j;
    for(i=1;i<10;i++){
        for(j=1;j<=i;j++){
        printf("%dx%d=%-4d",i,j,i*j);
        }
        printf("\n");
    }
    return 0;
}

备注一个do_while循环的九九乘法表

#include<stdlib.h>
int main(){ 
    int a,b;
    a = 1;
    do{
        b = 1;
        while(b<10){
            printf("%dx%d=%-3d ",a,b,a*b);
            b++ ;
        }
        printf("\n");
        a++;
    }while(a<10);
    return 0;
}