2-24

SHSQ1701每日作业记录
练习:简单计算器

include <stdio.h>

void main()
{
float a,b;
char c;
printf("请输入:");
scanf("%f%c%f",&a,&c,&b);
switch(c)
{
case '+':
printf("%.1f\n",a+b);
break;
case '-':
printf("%.1f\n",a-b);
break;
case '':
printf("%.1f\n",a
b);
break;
case '/':
if(!b)
printf("除数不能为0!\n");
else
printf("%.1f\n",a/b);
break;
default:
printf("输入有误,请重新输入!\n");
}
}

循环语句:
1.while
格式:
while(条件)
{
语句;
}
原理:当条件成立的时候(真),就执行大括号中的语句,执行完成之后,回过去继续判断条件是否成立,如果成立,就继续执行大括号对应的语句,如果不成立,不再执行对应的语句,转而执行大括号后面的语句。
例:

include <stdio.h>

void main()
{
int a=5;
while(a>0)
{
printf("a=%d\n",a);
a--;
}
printf("xxx\n");
}
练习:计算1~100之和
sum前1=1;
sum前2=sum前1+2
...
sum前97=sum前96+97
sum前98=sum前97+98
sum前99=sum前98+99
sum前100=sum前99+100
=>sum=sum+n n=1~100
sum=0;
n=1;
while(n<=100)
{
sum=sum+n; //记住
n++;
}

练习:写一个自动销售饮料的售货机的程序,有相应的界面,购买的时候,输入金额,和购买产品。售货机会给出相应的提示。

include <stdio.h>

include <stdlib.h>

void main()
{
char ch='y';
while(ch=='y')
{
system("clear");
printf("\n\n");
printf(" ***********************************\n");
printf(" * 欢迎选购 *\n");
printf(" * *\n");
printf(" * 1.红茶 ¥3 *\n");
printf(" * 2.脉动 ¥4 *\n");
printf(" * 3.红牛 ¥6 *\n");
printf(" * 4.牛奶 ¥5 *\n");
printf(" * *\n");
printf(" * 请选择: \n");
printf(" * 请投币: \n");
printf(" ***********************************\n");
int c,m;
system("tput cup 10 24");
scanf("%d%
c",&c);
system("tput cup 11 24");
scanf("%d%
c",&m);
system("tput cup 13 1");
switch(c)
{
case 1:
if(m>3)
printf("给你红茶,收好找零:%d\n",m-3);

            else if(m==3)
                printf("红茶不能多喝哦!\n");
            
            else
                printf("不好意思,余额不足!\n");
            break;
        case 2:
            if(m>4)
                printf("脉动回来,收好找零:%d\n",m-4);
            else if(m==4)
                printf("脉动给你力量!\n");
            else
                printf("不好意思,余额不足!\n");
            break;
        case 3:
            if(m>6)
                printf("红牛真牛,收好找零:%d\n",m-6);
            else if(m==6)
                printf("跟着红牛一起牛!\n");
            else
                printf("不好意思,余额不足!\n");
            break;
        case 4:
            if(m>5)
                printf("给你牛奶,收好找零:%d\n",m-5);
            else if(m==5)
                printf("牛奶多喝长个!\n");
            else
                printf("不好意思,余额不足!\n");
            break;
        default:
            printf("选择有误!\n");
    }
    printf("是否继续输入?(y/n)");
    ch=getchar();
}

}

练习:从键盘上输入若干个整数,当输入0时结束输入,求输入的整数之和。

include <stdio.h>

include <stdlib.h>

void main()
{
int sum=0,num;
printf("intput num: ");
scanf("%d",&num);
while(num!=0)
{
sum=sum+num;
printf("intput num: ");
scanf("%d",&num);
}
printf("sum is:%d\n",sum);
}

练习:输入一个整数,使这个数逆序输出
12345=>54321

include <stdio.h>

include <stdlib.h>

void main()
{
int data,r_data;
printf("请输入一个数:");
scanf("%d",&data);
while(data!=0)
{
r_data=data%10;
printf("%d",r_data);
data=data/10;
}
printf("\n");
}

练习:36块砖,36个人搬,4/男,3/女,2个小孩抬1块。问一次性搬完,男,女,小孩各多少人。
男:9
女:12
小孩:36-男-女
男:1 女:1~12 小孩:36-男-女
男:2 女:1~12 小孩:36-男-女
...
男:9 女:1~12 小孩:36-男-女
while(男<9)
{
女=1;
while(女<12)
{
小孩=36-男-女;
if(4*男+3×女+小孩/2==36 && 小孩%2==0)
printf(...);
女++;
}
男++;
}

include <stdio.h>

void main()
{
int man,woman,child;
man=1;
while(man<9)
{
woman=1;
while(woman<12)
{
child=36-man-woman;
if((man4+woman3+child/2)==36 && child%2==0)
printf("man:%d woman:%d child:%d\n",man,woman,child);
woman++;
}
man++;
}
}

2.do...while
格式:
do
{
语句;
}while(条件);
原理:先执行一次循环语句,然后判断条件是否成立,如果条件成立,就继续回去执行循环语句,接着再判断条件是否成立,如果不成立,循环结束,故此循环不管条件成立不成立,都会至少执行一次循环体。
while:先判再做
do...while:先做再判
练习:统计从键盘输入的字符的个数。do...while
enter:\n\r;

include <stdio.h>

void main()
{
char c,p;
int x=0;
do
{
printf("请输入字符:");
do
{
c=getchar();
x++;
}while(c!='\n');
printf("统计输出的字符个数为:%d\n",--x);
printf("是否继续统计?");
p=getchar();
getchar();
}while(p=='y' || p=='Y');
}
练习:计算机猜拳游戏:石头,剪刀,布
玩法:先自己出个拳,计算机随机出一个石头/剪刀/布,然后给出谁赢了。
怎么产生一个随机值:

include <time.h>

include <stdlib.h>

srand((unsigned)time(NULL));//产生一个随机值发生器
//srand(time(0));
a=rand();

a%3: 0:剪刀 1:石头 2:布
3 5 7

计算机赢了:4 7 if
我赢了:5 8 else if
平了:else

include <stdio.h>

include <stdlib.h>

include <time.h>

include <unistd.h>

void main()
{
char c;
int people,computer,total;
system("clear");
while(1)
{
sleep(3);
system("clear");
printf("\n\n 这是一个猜拳小游戏\n");
printf(" A.剪刀\n");
printf(" B.石头\n");
printf(" C.布\n");
printf(" D.不玩了\n");
printf(" 请选择:");
c=getchar();
getchar();//吸收残留回车
switch(c)
{
case 'A':
case 'a':
people=3;
break;
case 'B':
case 'b':
people=5;
break;
case 'C':
case 'c':
people=7;
break;
case 'D':
case 'd':
return; //结束当前函数
}
srand((unsigned)time(NULL));
computer=rand()%3;
switch(computer)
{
case 0:
printf("电脑出了"剪刀"!\n");
break;
case 1:
printf("电脑出了"石头"!\n");
break;
case 2:
printf("电脑出了"布"!\n");
break;
}
total=computer+people;
if(total==4 || total==7)
printf("电脑赢了!\n");
else if(total==5 || total==8)
printf("你赢了!\n");
else
printf("平局\n");
}
}

3.for

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

推荐阅读更多精彩内容

  • 第1章 第一个C程序第2章 C语言基础第3章 变量和数据类型第4章 顺序结构程序设计第5章 条件结构程序设计第6章...
    小狮子365阅读 10,439评论 3 71
  • C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的 算法 题目:...
    Poison_19ce阅读 1,108评论 0 0
  • 2017.23 周四 homework:写一个简单的加,减,乘,除,四则运算的计算器程序。 程序的三大结构:1.顺...
    henry_bin阅读 503评论 0 0
  • //Week:1 --星期天2--星期一3--星期二4--星期三5--星期四6--星期五7--星期六 简单记录一下...
    枫海阅读 1,080评论 0 0
  • 趣填小词过端午,祝大伙端阳安康! 回文体填写《十六字令》得: ①《十六字令端》和②《十六字令阳》,倒读得: ③《十...
    aaron1797阅读 257评论 0 0