循环

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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

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