c语言常见基础题目学习有感

简介: c语言常见基础题目学习有感

1.判断一个三位数是否为水仙花数


2. 真睡还是装睡


3.十进制数转化为八位二进制数


4. 三个数的关系之求绝对值的最值


5.三天打鱼两天晒网


一.判断一个三位数是否为水仙花数


本题要求编写程序,判断一个给定的三位数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。


输入格式:

输入在一行中给出一个需要判断的整数 N(100≤N≤999)。


输出格式:

如果N是水仙花数,则在一行中输出Yes,否则输出No。如果N不是三位数,则输出Invalid Value.。

#include<stdio.h>
#include<math.h>
int main()
{
  int a;
  int b, c, d,e;
  int m=0;
  scanf("%d", &a);
  e = a;
  if (a < 100 || a>999)
  {
    printf("Invalid Value.");
    return 0;
  }
  b = a / 100;   //取百位
  b = b * b * b;
  a = a % 100;
  c = a / 10;   //取十位
  c = c * c * c;   
  a = a % 10;   //取个位
  d = a * a * a;
  m = b + c + d;
  if (m == e)
  {
    printf("Yes");
  }
  else
  {
    printf("No");
  }
}

2. 真睡还是装睡


你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一个人的呼吸频率与脉搏,请你判断他是真睡还是装睡(即至少一项指标不在正常睡眠范围内)。


输入格式:

在一行中输入空格隔开的两个整数,分别表示一个人的呼吸频率和脉搏(均为不超过100的正整数)。


输出格式:

如果判定此人真睡,则输出 T,否则为装睡,输出 F。

#include<stdio.h>
int main()
{
  int m, n;
  scanf("%d %d", &m, &n);
  if (m >= 15 && m <= 20 && n >= 50 && n <= 70)
  {
    printf("T");
  }
  else
  {
    printf("F");
  }
  return 0;
}

3.十进制数转化为八位二进制数

#include<stdio.h>
#define N 8  //固定位数
int main()
{
  int arr[N] = { 0 };//将数组初始化为0(位数不满时,将输出0填补)
  int i;
  int n;
  printf("请输出一个整数:\n");
  scanf_s("%d", &n);
  if (n > 255)
  {
    printf("输入错误\n");
    return 0;
  }
  for (i = N - 1; i >= 0; i--)  //对数组从后往前赋值
  {
    arr[i] = n % 2;
    n = n / 2;
  }
  printf("输出一个八位二进制:\n");
  for (i = 0; i <= N - 1; i++)
  {
    printf("%d", arr[i]);
  }
  return 0;
}

4. 三个数的关系之求绝对值的最值

从键盘输入三个整数,输出绝对值最大的那个数。若绝对值最大的数不唯一,则输出最先出现的那个。

输入格式:

包含3个int范围内的整数,用空格隔开。

输出格式:

一个整数,表示绝对值最大的那个数。

#include<stdio.h>
#include<math.h>
void main()
{
  int m, n, p;
  int a, b, c;
  scanf("%d %d %d", &m, &n, &p);
  a = abs(m);
  b = abs(n);
  c = abs(p);
  if (a ==b && a > c)
  {
    printf("%d", m);
  }
  else if (b == c && b > a)
  {
    printf("%d", n);
  }
  else if (a == c && a > b)
  {
    printf("%d", m);
  }
    else if (a==b&&b==c)
    {
        printf("%d",m);
    }
  else
  {
      if (a <= b)
      {
        a = b;
        m = n;
        if (a <= c)
        {
          a = c;
          m = p;
        }
      }
    printf("%d", m);
  }
}

5.三天打鱼两天晒网


中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?


输入格式:

输入在一行中给出一个不超过1000的正整数N。


输出格式:

在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。

#include<stdio.h>
int main()
{
  int N,m;
scanf("%d",&N);
m=N%5;
if(m==4||m==0)
{printf("Drying in day %d",N);}
if(m==1||m==2||m==3)
{printf("Fishing in day %d",N);}
    return 0;
}
相关文章
|
6月前
|
存储 C语言
C语言学习记录——动态内存函数介绍(malloc、free、calloc、realloc)
C语言学习记录——动态内存函数介绍(malloc、free、calloc、realloc)
411 1
|
2月前
|
程序员 C语言
【C语言】LeetCode(力扣)上经典题目
【C语言】LeetCode(力扣)上经典题目
|
2月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
17 0
|
4月前
|
存储 编译器 C语言
【C语言】指针练习题目
【C语言】指针练习题目
|
4月前
|
编译器 C语言
C语言函数的学习
掌握函数的使用是学习C语言的关键一环,理解和应用这些基本的函数概念将使你能够更有效地利用C语言的强大功能。
25 0
|
6月前
|
存储 程序员 Go
|
6月前
|
存储 编译器 C语言
c语言学习历程【1】
c语言学习历程【1】
77 1
|
6月前
|
C语言
C语言学习记录——通讯录(静态内存)
C语言学习记录——通讯录(静态内存)
33 2
|
6月前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
48 1
|
6月前
|
C语言
C语言学习记录——动态内存开辟常见的错误
C语言学习记录——动态内存开辟常见的错误
36 1