循环

if的使用

##include <stdio.h>

int main()
{
    int salary,money;        //m为工资,n为到手工资 
    printf("输入工资:");
    scanf("%d",&salary);
    if(salary <= 5000) {
        money = salary; 
    }else if(salary > 5000 && salary <= 8000){
        money = salary - (salary - 5000)*0.1;
    }else if(salary > 8000 && salary <= 10000){
        money = salary - 200 - (salary - 8000)*0.15;
    }else{
        money = salary - 200 - 150 - (salary - 10000)*0.2;
    }printf("到手工资:%d",money); 
    return 0;   
} 

各种循环

#include <stdio.h>
#include <stdlib.h>
/*
getchar();从终端接收一个字符
注意:当上一次有输入的情况下 必须要将上一次缓冲区里面的内容清空
方式一: 
 getchar(); //拿走\n 
 getchar();
 
 方式二: 
 fflush(stdin);//刷新输入流 

*/ 
int main(){ 
    int old = 123;//原始密码 
    int input;//输入密码 
    int wrongTime = 3; //错误次数
    
    printf("**********************\n"); 
    printf(" 欢迎使用建设银行系统\n");
    printf("**********************\n");
    
    //int i = 1;
    printf("请输入密码:");
    for(int i = 1;i <= wrongTime; i++){
        scanf("%d", &input);
        getchar();  //拿走一个字符 
        //判断密码
        if(input == old){
            //密码正确
            break;
        } 
        
        if(i == wrongTime){
            printf("错误次数过多!\n");
            return 1;
        }
        //密码不正确
        printf("密码不正确,请重新输入密码:"); 
    } 
    
    printf("密码正确!\n");
    int choice;//接受用户选择
    char goon;//是否继续 
    int total=1000;
    for(;1;){
    //主界面 
    printf("*****************************\n"); 
    printf("1.存款\n");
    printf("2.取款\n");
    printf("3.查询\n");
    printf("4.更改密码\n");
    printf("5.退出\n"); 
    printf("*****************************\n");
    //提示用户选择
    printf("请选择操作:");
    scanf("%d",&choice);
    getchar();      //拿走一个字符 
    //判断操作
    switch(choice){
        case 1://存款 
            int temp;
            printf("请输入存款金额:");
            scanf("%d",&temp);
            total+=temp;
            printf("存款成功!余额为:%d\n",total);
            break; 
        case 2://取款 
            int temp2;
            for(;1;){
            printf("请输入取款金额:");
            scanf("%d",&temp2);
            if(temp2>total){
                printf("余额不足"); 
            }
            else{
            total-=temp2;
            printf("取款成功!余额为:%d\n",total);
            break;
        }
    }
            break;
        case 3://查询余额 
            printf("当前余额为:%d\n",total);
            break;
        case 4://更改密码 
            for(;1;){
                int n1,n2;
                printf("请输入新密码:"); 
                scanf("%d",&n1);
                printf("请确认新密码:");
                scanf("%d",&n2);
                if(n1==n2){
                    printf("设置成功"); 
                    old=n1;
                    break;
                }
                else{
                    printf("两次输入不一致");
                }
            }
            break;
        default://退出
            exit(EXIT_SUCCESS);                        //return; 结束当前函数,比如main()          //exit(); 直接退出程序,需要导入stdlib.h头文件 
            break;
    }
    //提示是否继续
    for(;1;){
        printf("是否继续(y/n)");
        getchar();
        scanf("%c",&goon);
        if(goon=='y'){
            break;
        } 
        else if(goon=='n'){
            exit(EXIT_SUCCESS); 
        }
        else{
        printf("输入无效"); 
        }    
    }
}

    return 0;
}

while的使用(二进制转换器)

#include <stdio.h>

int main(){
    int num;
    int a[20]={};
    int i=0;
    scanf("%d",&num);
    do{
        a[i]=num%2;
        num=num/2;
        i++;
    }
    while(num>=1);
    int times=i-1;
    while(times>=0){
    printf("%d",a[times]);
    times--;
}
    return 0;
}

小游戏

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>
int main(){
    int count=3;//记录每次生成多少个随机数;
    while(1){
    
    //设置随机数的种子
    unsigned seed=time(NULL);
    srand(seed);
    int i; //计数 
    for(i=0;i<count;i++){
        
        int temp=rand()%9+1;
        printf("%d  ",temp); 
        //生成并打印随机数 
    } 
    //清屏 
    sleep(2);
    system("cls");
    
    
    
    srand(seed);
    
    printf("请输入:");
    int i2;//计数 
    for(i2=0;i2<count;i2++){
        //输入回答 
        int temp; 
        scanf("%d",&temp);
        //获取对应的随机数 
        int old=rand()%9+1;
        //比较 
        if(temp!=old){
            printf("错误");
            exit(EXIT_SUCCESS);
        }
    }
    printf("正确\n"); 
    count++;
    }
    return 0;
}

随机不重复数组(4个数值)

#include <stdio.h>

int main(){
    srand(time(NULL));
    int array[4]={};//定义数组 
    
    int i;//数组个数 
    for(i=0;i<4;i++){
        array[i]=rand()%10;//给予数值  
        while(i==1){//开始判断 
            if(array[1]==array[0]){
                array[1]=rand()%10;//不满足不重复条件,重新给予随机数值 
            }else{
                break;//满足不重复条件,跳出循环 
            }
        }
        while(i==2){//开始判断
            if(array[1]==array[2]||array[0]==array[2]){
                array[2]=rand()%10;//不满足不重复条件,重新给予随机数值 
            }else{
                break;//满足不重复条件,跳出循环 
            }
        }
        while(i==3){//开始判断
            if(array[3]==array[0]||array[3]==array[1]||array[3]==array[2]){
                array[3]=rand()%10;//不满足不重复条件,重新给予随机数值 
            }else{
                break;//满足不重复条件,跳出循环 
            }
        }
        printf("%d",array[i]);//输出数据 
    }
    return 0;
}

随机不重复数组(改良版,可自己设置个数i)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){
    srand(time(NULL));
    int array[9]={};//定义数组 
    
    int i,i2;//数组个数 i  判断参数 i2 
    int temp;//储存数据 
    for(i=0;i<9;i++){
        i2=i;//给予参数 
        temp=rand()%10;//给予数值  
        for(i2;i2>0;){
            for(i2;temp!=array[i2-1]&&i2>0;i2--);  //判断是否重复,若不重复,则参数i2应该为0 
            if(i2==0){
            break; //跳出循环 
            }else{
            temp=rand()%10;//重新给予数值  
            }
            i2=i;//重置参数 
        } 
        array[i]=temp;  
        printf("%d",array[i]);//输出数据 
    }
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 循环结构要么痛苦的坚持游戏结束 可能会升级要么结束游戏继续的痛苦 可能有遗憾知识点(1) . whil...
    拾起_518阅读 3,633评论 0 0
  • 遗传算法 遗传算法是根据生物学的种群进化规律推导出来的随机化搜索算法物竞天择 适者生存在种群的进化过程当中,基因型...
    hlchengzi阅读 4,200评论 0 3
  • 1、简述osi七层模型和TCP/IP五层模型 OSI模型: 开放系统互联标准,该模型是由国际标准化组织(ISO)定...
    打怪基本靠蒙阅读 2,523评论 0 0
  • It's Thursday. Chapter 09: Mrs. Rachel Lynde Is Properly ...
    Mr_Oldman阅读 1,111评论 0 0
  • Bitmap内存管理一些理解 bitmap内存是存储在哪里 android 3.0 到7.1 bitmap内存是放...
    享受程序人生阅读 4,233评论 0 2