第三次作业

Posted 张晓楠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三次作业相关的知识,希望对你有一定的参考价值。

一、实验内容

 1.实验要求:字符判断

     输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”

 代码:

#include <stdio.h>
int main()
{
 char a;
 scanf("%c",&a);
 if(a>=\'a\'&&a<=\'z\')
  {
   a=a-32;
   printf("%c",a);
  }
 else if(a>=\'A\'&&a<=\'Z\')
  {
   a=a+32;
   printf("%c",a);
  }
 else if(a>=\'0\'&&a<=\'9\')
  {
   printf("%c",a);
  }
 else if(a==\' \')
  {
   printf("space");
  }
 else
  {
   printf("other");
  }
 return 0;
}

 

 程序运行结果:

 

 

 

 

2.实验要求:年龄问题

     输入一个学生的生日(年:月:日),并输入当前日期(年:月:日),计算该生的实际年龄(周岁)。

 代码:

#include<stdio.h>
int main()
{
 int a,b,c,year,month,day,age;
 printf("请输入今天的日期:\\n");
 scanf("%d:%d:%d",&a,&b,&c);
 printf("请输入学生的生日:\\n");
 scanf("%d:%d:%d",&year,&month,&day);
 age=a-year;
 if(b>month)
  {
   printf("学生的年龄是%d周岁",age);
  }
 else if(b==month)
  {
   if(c>day||c==day)
    {
     printf("学生的年龄是%d周岁",age);
    }
   else if(c<day)
    {
     age=age-1;
     printf("学生的年龄是%d周岁",age);
    }
  }
 else if(b<month)
  {
   age=age-1;
   printf("学生的年龄是%d周岁",age);
  }

 return 0;
}

 

 程序运行结果:

 

 

 

3.实验要求:判断三角形类型

  输入三个整数,判断由其构成的三角形的类型(等边三角形、等腰三角形、等腰直角三角形、直角三角形、一般三角形以及非三角形)

 代码:

#include <stdio.h>
#include <math.h>
int main()
{
 int a,b,c;
 printf("请输入三角形三边长:\\n");
 scanf("%d %d %d",&a,&b,&c);
 if(fabs(a+b)>c&&fabs(a-b)<c)
  {
   if(a*a+b*b==c*c&&a==b||a*a+c*c==b*b&&a==c||b*b+c*c==a*a&&b==c)
    {
     printf("是等腰直角三角形");
    }
   else if(a==b&&b==c&&c==a)
     {
      printf("是等边三角形");
     }
    else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
     {
      printf("是直角三角形");
     } 

    else if(a==b&&a!=c||b==c&&b!=a||a==c&&b!=c)
     {
      printf("是等腰三角形");
     }
    else
     {
      printf("是一般三角形");
     }
  }
 else
  {
   printf("数据错误");
  }
 return 0;
}

 

 

 程序运行结果:

 

 

 

 

 

 

4.实验要求:看商品猜价格小游戏

 代码:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
 int a,b;
 printf("请输入商品的价格:\\n");
 scanf("%d",&a);
 srand(time(NULL));
 b=rand()%100+1;
 if(a==b)
  {
   printf("商品归你了");
  }
 else if(a>b)
  {
   printf("太大了");
  }
 else if (a<b)
  {
   printf("太小了");
  }
 printf("商品的价格是%d",b);
 return 0;
}

 

 程序运行结果:

 

5.实验要求:虫子吃苹果问题(完成此题加1分)

    你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?

   输入n,x和y(均为整数),输出剩下的苹果个数。

   测试数据:  10  4  9

                    5  3  16

 代码:

#include<stdio.h>
int main()
{
 int n,x,y,a,b,s;
 printf("  你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?\\n");
 printf("请输入一箱苹果的个数和虫子吃苹果的时间和吃苹果的速度:\\n");
 scanf("%d%d%d",&n,&y,&x);
 a=y/x;
 b=n-a;
 s=b-1;
 if(b>0&&y%x==0)
  {
   printf("还剩下%d个苹果\\n",b);
  }
 else if (y%x!=0&&s>0)
  {
   printf("还剩下%d个苹果\\n",s);
  }
 else
  {
   printf("还剩下0个苹果\\n");
  }
 return  0;
}

 

 程序运行结果:

 

 

二、本次课知识点总结

  1. 1.  掌握字符型数据(字符型常量和变量、字符串常量、字符型数据的输入输出格式和输入输出函数

(1)      字符型数据类型标识符char。在内存中占用一个字节,以所存字符的ASCII码存储 。字符ASCII码值为0-255。

(2)      字符常量:用单引号括起来的单个普通字符或转义字符。’a’ –97   ‘A’—65  ‘0’—48  ‘\\n’--10

(3)      转义字符:反斜线后面跟一个字符或一个代码值表示转义字符及其含义。

(4)      字符变量:字符型变量用来存放字符常量,只能放一个字符。一个字符变量在内存中占一个字节。

(5)      既可以以字符形式输出又可以以整数形式输出。以字符型数据输出时,先将存储单元中的ASCII码值转换成相应字符,然后再输出。以整数形式输出时,直接将ASCII码作为整数输出。字符型数据还可以进行算数运算,相当于他们的ASCII码值参与运算

(6)      字符串常量:用双引号(“”)括起来的字符序列字符常量与字符串常量不同。比如‘a’  长度为1个字符,“a”长度为2个字符 。

(7)      字符型数据的输入输出c格式符:在输入输出函数中,字符型数据的格式控制使用%c表示,用来输入输出一个字符。

(8)      putchar函数(字符输出函数)格式: putchar( c ) putchar函数(字符输出函数)格式: putchar( c )

2.  如何产生随机数

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{   int a,b;

    srand(time(NULL));

    a=rand()%100;

    b=rand()%100;

    printf("a=%d,b=%d\\n",a,b);

    return 0;

}

 

 

 

三、实验总结

1.字符型数据类型的转换,大写字母和小写字母之间差32,并且小写字母代表的数据大。

2.输入函数中不能忘记加取地址符。

3.if的嵌套是不能忘记大括号的匹配问题。

 

以上是关于第三次作业的主要内容,如果未能解决你的问题,请参考以下文章

第三次寒假作业

第三次作业

第三次作业

第三次作业

第三次作业

第三次作业