#include <stdlib.h>
#include <stdio.h>
#include <time.h>
main()
{
   int x,y,a,b,c,i,z;
   a=b=c=0;
   while(1)
   {
   
printf(“********************************************************************************n”);
       printf(“*                      
游戏共进行10次,最后会评定等级                         
*n”);                            
      
printf(“********************************************************************************n”);
       for(i=1;i<=10;i++)
    { 
       srand((unsigned)time(NULL));
       y=rand()%3;
       printf(“请选择:0.石头 1.剪刀 2.布n”);
       scanf(“%d”,&x);
       if(x==0&&y==0)
    {
        printf(“石头n我出的也是石头,平局!n”);
        b++;
        printf(“胜:%d 平:%d 输:%d”,a,b,c);
    }
       if(x==1&&y==1)
    {
        printf(“剪刀n我出的也是剪刀,平局!n”);
        b++;
        printf(“胜:%d 平:%d 输:%d”,a,b,c);
    }
       if(x==2&&y==2)
    {
        printf(“布n我出的也是布,平局!n”);
        b++;
        printf(“胜:%d 平:%d 输:%d”,a,b,c);
    }
       if(x==0&&y==1)
    {
        printf(“石头n我出的是剪刀,你赢了!n”);
        a++;
        printf(“胜:%d 平:%d 输:%d”,a,b,c);
    }
       if(x==1&&y==2)
    {
        printf(“剪刀n我出的是布,你赢了!n”);
              a++;
        printf(“胜:%d 平:%d 输:%d”,a,b,c);
    }
       if(x==2&&y==0)
    {
        printf(“布n我出的是石头,你赢了!n”);
        a++;
        printf(“胜:%d 平:%d 输:%d”,a,b,c);
    }
       if(x==0&&y==2)
    {
        printf(“石头n我出的是布,你输了!n”);
        c++;
        printf(“胜:%d 平:%d 输:%d”,a,b,c);
    }
       if(x==1&&y==0)
    {
        printf(“剪刀n我出的是石头,你输了!n”);
        c++;
        printf(“胜:%d 平:%d 输:%d”,a,b,c);
    }
       if(x==2&&y==1)
    {
        printf(“布n我出的是剪刀,你输了!n”);
           c++;
        printf(“胜:%d 平:%d 输:%d”,a,b,c);
    }
       printf(“n”);
    }
   printf(“n”);
   if(a==10)
    printf(“等级:你真是太厉害了!n”);
   if(7<=a&&a<=9)
    printf(“等级:不错哦!n”);
   if(4<=a&&a<=6)
    printf(“等级:马马虎虎!n”);
   if(1<=a&&a<=3)
    printf(“等级:表现不佳!n”);
   if(a==0)
    printf(“等级:糟糕透了!n”);
   a=b=c=0;
   printf(“还要再来一次吗?(1.是 2.否)n”);
   scanf(“%d”,&z);
   if(z==1) continue;
   if(z==2) break;
   }
}
 

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

  C语言程序

 

include <stdio.h>

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

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

  1. 九九乘法表(利用数组)
     #include <stdio.h>
    int main(void){
          int a [9];
          int c [9];
          int x;
          int y;
      for(x=1;x<=9;x++){
             a[x]=x;
    }
    for(y=1;y<=9;y++){
              c[y]=y;
    }
           for(x=1;x<=9;x++){
                  for(y=1;y<=x;y++){
                           printf(“%d *
    %d=%d”,a[x],c[y],a[x]*c[y]);
                   }
                      printf(“n”);
           }
                               return 0;
    }

include <stdio.h>

void main()
{
int a=5;
while(a>0)
{
printf(“a=%dn”,a);
a–;
}
printf(“xxxn”);
}
练习:计算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++;
}

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

2.水仙花数的实现
 #include <stdio.h>
  int main(void){
   int a,b,c,sum;
    for(a=1;a<=9;a++){
            for(b=0;b<=9;b++){
                     for(c=0;c<=9;c++){
                               sum=a*100+b*10+c;
                                     
if(sum==a*a*a+b*b*b+c*c*c){
                                         printf(“%dn”,sum);
                                }
                    }
            }
      }
       return 0;
 }
3.一个银行系统的密码输入,限制输入次数(do ..while语句)
#include <stdio.h>
int main(void){
          int password;
          int count=0;
          printf(“您的密码只能输入三次,超过三次将被锁住!n”);
      do{
                 if(count<3){
                 printf(“输入您的密码:n”);
                 scanf(“%ld”,&password);
                 printf(“密码错误,在想想n”);
                 }
                 else if(3==count){
                  printf(“密码错误,卡以被锁!”);
             }
                  count++;
     }
     while(123456!=password);
               printf(“进入银行系统!!”);
}

include <stdio.h>

  1. 一个数加上100是一个平方数再加上168还是一平方数求这数。。
    #include <stdio.h>
    int main(void){

include <stdlib.h>

void main()
{
char ch=’y’;
while(ch==’y’)
{
system(“clear”);
printf(“nn”);
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(“给你红茶,收好找零:%dn”,m-3);

            else if(m==3)
                printf("红茶不能多喝哦!n");

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

}

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

long int i,x,y;
      for(i=1;i<100000;i++){
      x=sqrt(i+100);
      y=sqrt(i+268);

include <stdio.h>

  if(x*x==i+100&&y*y==i+268)
     printf(“n%ldn”,i);
  }
}

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:%dn”,sum);
}

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

5.输入两个数求平均值
#include <stdio.h>
int main(void){
int count,sun,anInteger;
printf(“Enter the inteegers and terminate with negtive numbern”);
count =0;
sun=0;
printf(“Enter number %d:”,count+1);
scanf(“%d”,&anInteger);
while(anInteger>=0){
sun+=anInteger;
count++;
printf(“Enter number %d:”,count+1);
    scanf(“%d”,&anInteger);
}if(count!=0){
printf(“The average is %fn”,sun/(double)count);
}else{
printf(“You enteed no numbersn”);
}
return 0;

include <stdio.h>

摘自 10-3G-何进超 

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(…);
女++;
}
男++;
}

1. 九九乘法表(利用数组) #include
stdio.h int main(void){ int a [9]; int c [9]; int x; int y;
for(x=1;x=9;x++){ a[x]=x; } for(y=1;y=9;y++){ c[y]=y; }
for(…

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:%dn”,man,woman,child);
woman++;
}
man++;
}
}

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

include <stdio.h>

void main()
{
char c,p;
int x=0;
do
{
printf(“请输入字符:”);
do
{
c=getchar();
x++;
}while(c!=’n’);
printf(“统计输出的字符个数为:%dn”,–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(“nn 这是一个猜拳小游戏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