首页 > 代码库 > 2016-10-22

2016-10-22

1. 字符判断

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

#include <stdio.h>
void main()
{  
    char ch1, ch2;
    printf("请输入一个字符\n");
    ch1=getchar();
    if(ch1>=A&&ch1<=Z)
    {
        ch2=ch1+32;
        printf("%c\n",ch2);
    }
    else if(ch1>=a&&ch1<=z)
    {
        ch2=ch1-32;
        printf("%c\n",ch2);
    }
    else if(ch1>=0&&ch1<=9)
    {
        ch1=ch1;
        printf("%c\n",ch1);
    }
    else if(ch1== )
    {
        printf("space\n");
    }
    else
    {
        printf("other\n");
    }
}

技术分享

总结:1.理解如何大写小写字母如何转换   因为大写小写字母ASCII码值相差32

         2.注意‘ ’代表的才是常量

 2. 年龄问题

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

#include <stdio.h>
void main()
{
    int a,b,c;
    int d,e,f;
    int g;
    printf("请输入学生的生日\n");
    scanf("%d%d%d",&a,&b,&c);
    printf("请输入当前的日期\n");
    scanf("%d%d%d",&d,&e,&f);
    if((b==e&&c>=f)||b<e)
    {
        g=d-a;
        printf("%d\n",g);
    }
    else if(b==e&&c<f)
    {
        g=d-a+1;
        printf("%d\n",g);
    }
    else if(b>e)
    {
        g=d-a-1;
        printf("%d\n",g);
    }
}

技术分享

总结:1.要细心注意%d对应的地址

        2.注意输出的是周岁  同一年中没到生日的时候要减去一岁

 3. 判断三角形类型

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

#include <stdio.h>
void main()
{
    int a,b,c;
    printf("请输入三个整数\n");
    scanf("%d%d%d",&a,&b,&c);
    if(a+b<c||a-b>c)
    {
        printf("非三角形\n");
    }
    else if(a==b&&b==c&&a==c)
    {
        printf("等边三角形\n");
    }
    else if((a==b&&a*a+b*b==c*c)||(a==c&&a*a+c*c==b*b)||c==b&&c*c+b*b==a*a)
    {
        printf("等腰直角三角形\n");
    }
    else if((a==b&&a*a+b*b!=c*c)||(a==c&&a*a+c*c!=b*b)||c==b&&c*c+b*b!=a*a)
    {
        printf("等腰三角形\n");
    }
    else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||c*c+b*b==a*a)
    {
        printf("直角三角形\n");
    }
    else
    {
        printf("一般三角形\n");
    }

}    

技术分享

总结:1.要注意判断三角形的条件用C语言如何表示

         2. 等于不是=(赋值) ==是(等于)  

  4. 看商品猜价格小游戏

     技术分享

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int a,b;
    srand(time(NULL));
    b=rand()%100+1;
    printf("请输入一个数字\n");
    scanf("%d",&a);
    if(a>b)
    {
        printf("你输入的数字太大了\n");
    }
    else if(a<b)
    {
        printf("你输入的数字太小了\n");
    }
    else
    {
        printf("你猜对了\n");
    }
    printf("这个数字是%d\n",b);
    return 0;
}

技术分享

技术分享

总结:1.编程的时候要条理清楚  注意谁是随机数  谁是输出的数

          2.要注意【1,100】之间的数是b=rand()%100+1;不要忘记+1

附加题:虫子吃苹果问题(完成此题加1分)

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

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

   测试数据:  10  4  9

                    5  3  16

#include<stdio.h>
int main()
{
    int n,x,y,z;
    printf("请输入你们的苹果个数\n");
    scanf("%d%d%d",&n,&x,&y);
    if(x<=0||y<=0||n<=0)
    {
        printf("error\n");
    }
    else if(n<=y/x)
    {
        printf("你没有苹果了\n");
    }
    else if((float)y/x>y/x)
    {
        z=n-y/x-1;
        printf("剩下的苹果为%d\n",z);
    }
    else 
    {
        z=n-y/x;
        printf("剩下的苹果为%d\n",z);
    }
    return 0;
}

技术分享

技术分享

总结:要注意y/x不一定是整数,要注意进行强制转换

 

2016-10-22