热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【C语言】新手程序员基础练习与进阶(2)

本文继续为新手程序员提供C语言的基础练习与进阶内容。涵盖的主题包括:ASCII码的使用、出生日期的输入输出、按指定格式输入并交换输出、字符与ASCII码的转换、表达式值的计算、带余除法的实现、四位数的反向输出以及Kiki算术问题的解决。每个练习都旨在帮助读者加深对C语言基本概念和编程技巧的理解。


文章目录


  • 11. ASCII码
  • 12. 出生日期输入输出
  • 13. 按照格式输入并交换输出
  • 14. 字符转ASCII码
  • 15. 计算表达式的值
  • 16. 计算带余除法
  • 17. 反向输出一个四位数
  • 18. kiki算数
  • 19. 浮点数的个位数字
  • 20. 你能活多少秒



11. ASCII码
  • 问题描述:BoBo教KiKi字符常量或字符变量表示的字符在内存中以ASCII码形式存储。BoBo出了一个问题给KiKi,转换以下ASCII码为对应字符并输出他们。73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116 , 33

  • 输入描述:无

  • 输出描述:一行输出转换题目中给出的所有ASCII码对应的字符,无需以空格隔开。

  • 代码实现:

int main()
{
printf("%c%c%c%c%c%c%c%c%c%c%c%c\n",73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116 , 33);
return 0;
}

I can do it!

12. 出生日期输入输出

  • 问题描述:输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出。

  • 数据范围:年份满足 1990≤y≤2015 ,月份满足 1≤m≤12 ,日满足 1≤d≤30

  • 输入描述:输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。

  • 输出描述:三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,需要在1位数前面补0。

  • 示例:

输入:20130225
输出:year=2013
month=02
date=25

  • 备注:通过scanf函数的%m格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据;通过printf函数的%0格式控制符,输出数值时指定左面不使用的空位置自动填0。
  • 代码实现:

#include
int main()
{
int year,month,date;
scanf("%4d%2d%2d",&year,&month,&date);
printf("year=%d\n",year);
printf("month=%02d\n",month);
printf("date=%02d\n",date);
return 0;
}

13. 按照格式输入并交换输出

  • 问题描述:输入两个整数,范围-231~231-1,交换两个数并输出。

  • 输入描述:输入只有一行,按照格式输入两个整数,范围,中间用“,”分隔。

  • 输出描述:把两个整数按格式输出,中间用“,”分隔。

  • 示例1


    • 输入:a=1,b=2
    • 输出:a=2,b=1
  • 备注:如果格式控制串中有非格式字符则输入时也要输入该非格式字符。

  • 代码实现:

int main()
{
int a,b,t;
scanf("a=%d,b=%d",&a,&b);

t = a;a = b;b = t;
printf("a=%d,b=%d\n",a,b);
return 0;
}

14. 字符转ASCII码

  • 问题描述:BoBo教KiKi字符常量或字符变量表示的字符在内存中以ASCII码形式存储。BoBo出了一个问题给KiKi,输入一个字符,输出该字符相应的ASCII码。
  • 输入描述:一行,一个字符。
  • 输出描述:一行,输出输入字符对应的ASCII码。
  • 示例:
    • 输入:c
    • 输出:99
  • 代码实现

#include
int main()
{
char a;
scanf("%c",&a);
printf ("%d\n",a);
return 0;
}

15. 计算表达式的值

  • 问题描述:请计算表达式“(-8+22)×a-10+c÷2”,其中,a = 40,c = 212。

  • 输入描述:无。

  • 输出描述:(-8+22)×a-10+c÷2计算之后的结果,为一个整数。

  • 代码实现:

#include
int main()
{
int a = 40,c = 212;
int t = (-8 + 22)*a-10 + c/2;
printf("%d\n",t);
return 0;
}

656

16. 计算带余除法

  • 问题描述:给定两个整数 a 和 b (0
  • 输入描述:一行,包括两个整数 a 和 b,依次为被除数和除数(不为零),中间用空格隔开。
  • 输出描述:一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。
  • 示例:
    • 输入:15 2
    • 输出:7 1
  • 代码实现:

#include
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d %d\n",a/b,a%b);
return 0;
}

17. 反向输出一个四位数

  • 问题描述:将一个四位数,反向输出。

  • 输入描述&#xff1a;一行&#xff0c;输入一个整数n&#xff08;1000 <&#61; n <&#61; 9999&#xff09;。

  • 输出描述&#xff1a;针对每组输入&#xff0c;反向输出对应四位数。

  • 示例&#xff1a;


    • 输入&#xff1a;1234
    • 输出&#xff1a;4321
  • 代码实现&#xff1a;

#include
int main()
{
int n;
scanf("%d",&n);
int t &#61; n;
while(n)
{
printf("%d",n % 10);
n /&#61; 10;
}
putchar(&#39;\n&#39;);
return 0;
}

18. kiki算数

  • 问题描述&#xff1a;KiKi今年5岁了&#xff0c;已经能够认识100以内的非负整数&#xff0c;并且并且能够进行 100 以内的非负整数的加法计算。不过&#xff0c;BoBo老师发现KiKi在进行大于等于100的正整数的计算时&#xff0c;规则如下&#xff1a;


    1. 只保留该数的最后两位&#xff0c;例如&#xff1a;对KiKi来说1234等价于34&#xff1b;

    2. 如果计算结果大于等于 100&#xff0c; 那么KIKI也仅保留计算结果的最后两位&#xff0c;如果此两位中十位为0&#xff0c;则只保留个位。
      例如&#xff1a;45&#43;80 &#61; 25
      要求给定非负整数 a和 b&#xff0c;模拟KiKi的运算规则计算出 a&#43;b 的值。

  • 数据范围&#xff1a; 0 ≤ a,b ≤ 231-1

  • 输入描述&#xff1a;一行&#xff0c;输入两个非负整数a和b&#xff0c;用一个空格分隔。&#xff08;0 <&#61; a,b<&#61; 231-1&#xff09;。

  • 输出描述&#xff1a;针对每组输入&#xff0c;输出按照KiKi的运算规则计算出 a&#43;b 的值。

  • 示例&#xff1a;


    • 输入&#xff1a;45 80
    • 输出&#xff1a;25
  • 代码实现&#xff1a;

int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d\n",(a &#43; b)% 100);
//因为只能认出最后两位数&#xff0c;所以 % 10保留最后两位
return 0;
}

19. 浮点数的个位数字

  • 问题描述&#xff1a;给定一个浮点数&#xff0c;要求得到该浮点数的个位数。

  • 数据范围&#xff1a; 0

  • 输入描述&#xff1a;一行&#xff0c;包括一个浮点数。

  • 输出描述&#xff1a;一行&#xff0c;包含一个整数&#xff0c;为输入浮点数对应的个位数。

  • 示例&#xff1a;


    • 输入&#xff1a;13.141
    • 输出&#xff1a;3
  • 代码实现&#xff1a;

int main()
{
float n;
scanf("%f",&n);
printf("%d\n",(int)n %10);
return 0;
}

20. 你能活多少秒

  • 问题描述&#xff1a;一年约有 3.156×107 s&#xff0c;要求输入您的年龄&#xff0c;显示该年龄合多少秒。

  • 数据范围&#xff1a;0

  • 输入描述&#xff1a;一行&#xff0c;包括一个整数age。

  • 输出描述&#xff1a;一行&#xff0c;包含一个整数&#xff0c;输出年龄对应的秒数。

  • 示例:


    • 输入&#xff1a;20
    • 输出&#xff1a;631200000
  • 代码实现&#xff1a;

#include
#include
int main()
{
int age;
scanf("%d",&age);
long long time &#61; age * (3.156 * pow(10,7));
if(0 < age <&#61; 200)
{
printf("%lld\n",time);
}
return 0;
}






推荐阅读
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 本文详细介绍了C语言中链表的两种动态创建方法——头插法和尾插法,包括具体的实现代码和运行示例。通过这些内容,读者可以更好地理解和掌握链表的基本操作。 ... [详细]
  • 本文介绍了几种不同的编程方法来计算从1到n的自然数之和,包括循环、递归、面向对象以及模板元编程等技术。每种方法都有其特点和适用场景。 ... [详细]
  • 本文详细介绍了C语言中的指针,包括其基本概念、应用场景以及使用时的优缺点。同时,通过实例解析了指针在内存管理、数组操作、函数调用等方面的具体应用,并探讨了指针的安全性问题。 ... [详细]
  • C语言基础入门:7个经典小程序助你快速掌握编程技巧
    本文精选了7个经典的C语言小程序,旨在帮助初学者快速掌握编程基础。通过这些程序的实践,你将更深入地理解C语言的核心概念和语法结构。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 解析SQL查询结果的排序问题及其解决方案
    本文探讨了为什么某些SQL查询返回的数据集未能按预期顺序排列,并提供了详细的解决方案,帮助开发者理解并解决这一常见问题。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
author-avatar
丰日2012_102
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有