C语言假期作业 DAY 01

这篇具有很好参考价值的文章主要介绍了C语言假期作业 DAY 01。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目

1.选择题

1、执行下面程序,正确的输出是( )

C语言假期作业 DAY 01,c语言,算法,数据结构

 

int x=5,y=7;
void swap()
{
        int z;
        z=x;
        x=y;
        y=z;
}

int main()
{
        int x=3,y=8;
        swap();
        printf("%d,%d\n",x, y);        

return 0;
}

A: 5,7  

B: 7,5  

C: 3,8  

D: 8,3

2、以下不正确的定义语句是( )

A: double x[5] = {2.0, 4.0, 6.0, 8.0, 10.0} ;
B: char c2[] = {'\x10', '\xa', '\8'} ;
C: char c1[] = {'1','2','3','4','5'} ;
D: int y[5+3]={0, 1, 3, 5, 7, 9} ;

3、 test.c 文件中包括如下语句,文件中定义的四个变量中,是指针类型的变量为【多选】()

#define INT_PTR int* 
typedef int* int_ptr; 
INT_PTR a, b; 
int_ptr c, d;

A: a  

B: b  

C: c  

D: d

4、 若给定条件表达式 (M)?(a++):(a--) ,则其中表达式 M ( )

A: 和 (M==0) 等价
B: 和 (M==1) 等价
C: 和 (M!=0) 等价
D: 和 (M!=1) 等价

5、有如下定义语句,则正确的输入语句是【多选】( )

C语言假期作业 DAY 01,c语言,算法,数据结构

 

A: scanf("%d%s",&b,&c) ;   
B: scanf("%d%s",&b,c) ;
C: scanf("%d%s",b,c) ;       
D: scanf("%d%s",b,&c) ;

 二、编程题

T1:JZ17 打印从1到最大的n位数

 题目链接:打印从1到最大的n位数_牛客题霸_牛客网

描述
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。

1. 用返回一个整数列表来代替打印
2. n 为正整数

示例1
输入:1

返回值:[1,2,3,4,5,6,7,8,9]

T2:HJ73 计算日期到天数转换

题目链接:计算日期到天数转换_牛客题霸_牛客网

描述
根据输入的日期,计算是这一年的第几天。

保证年份为4位数且日期合法。

进阶:时间复杂度:O(n),空间复杂度:O(1);

输入描述:
输入一行,每行空格分割,分别是年,月,日

输出描述:
输出是这一年的第几天

示例1
输入:2012 12 31

输出:366

示例2
输入:1982 3 4

输出:63
 

题解:

一、选择题

1、【答案解析】

答案解析:
正确答案: C
swap 函数调用时用的是全局变量,主函数中定义的变量只在主函数中有效,因为主函数也是一个函数,它与其他函数是平行关系;输出语句这里,考虑局部优先的原则,故选C

2、【答案解析】

答案解析:
正确答案: B
本题 B 选项考查转义字符,有如下格式,但八进制数字是 0-7 ,没有 8 ,故 B 选项中 '\8' 是错误的
注:

\ddd ddd 表示 1 到 3 个八进制数 如: \130 转义为 字符 X
\xhh hh 表示 1 到 2 位十六进制数 如: \x30 转义为 字符 0

3、【答案解析】

答案解析:
正确答案: ACD
因为 #define 是宏定义,仅仅是直接替换 ,INT_PTR a, b; 进行宏替换后代码是这样的: int *a, b; 这里的 int * 是 a 的类型,b 的类型是 int ,故此次 b 只是 int 类型。而 typedef 是把该类型定义一个别名,别名是一个独立的类型了,使用这个类型创建的变量都是这个类型的。所以 a , c , d 才是指针类型

4、【答案解析】

答案解析:
正确答案: C
给定条件表达式 (M)?(a++):(a--) 。 ( 表达式 1)? ( 表达式 2): ( 表达式 3) 为三目运算符。
计算规则为:先判断表达式 1 是否为真,若为真,则计算表达式 2 ,并将表达式 2 的结果作为整个表达式最终的结果,表达式 3不计算;否则,表达式3 的结果为最终结果,表达式 2 不计算。 在此表达式中,若 M=0 ,为假,计算 a--; 若 M≠0 ,为真,计算a++; 若要求与 M 等价,则要满足 M 取 0 时为假,取非 0 数值时为真。 c 选项中:假定 M 取 0 ,则 M 表示假,当 M 是 0 时 , 表达式 M!=0不成立,为假,计算 a--; 当 M 取非 0 数值时, M 为真,表达式 M!=0 成立,为真,计算 a++; 符合题意,选 C

5、【答案解析】

答案解析:
正确答案: AB
&c 和 c 两个地址值是一样的,程序的效果相同,也没错,但同时也必须把变量 b 的地址给 scanf, 故 CD 错误, AB 正确

二、编程题

1 、【答案解析】:


这里首先要清楚 n 位数中最大的数字,实际上就是 10^n - 1 。 比如:

C语言假期作业 DAY 01,c语言,算法,数据结构
 

这个清楚后动态申请空间,将数值填入就可以了,需要注意的是数组下标从 0 开始,而数值从 1 开始

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 最大位数
 * @return int整型一维数组
 * @return int* returnSize 返回数组行数
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
static int arr[100000000] = { 0 };
int* printNumbers(int n, int* returnSize ) {
    // write code here
    int i=1;
    scanf("%d", &n);
    int param=0;
    param=pow(10,n)-1;
    for(i=1;i<=param;i++)
    {
        arr[i-1]=i;
    }
    *returnSize=i-1;
    return arr;
}

 2、【答案解析】

这道题简单解法其实将每个月的天数枚举出来,然后根据当前月份向前累加满月的天数,然后再加上当前月所在的天 数。最终考虑平闰年的 2 月份区别是否增加一天。 其中需要注意的是平年和闰年的判断,而且是闰年的月份大于 2 的时候,也就是 2 月走完,总天数才能加 1 (比如 2000年2月18日 ,虽然是闰年,但是 2月 都没走完那是不能加上闰年多出的一天的).文章来源地址https://www.toymoban.com/news/detail-606694.html

#include <stdio.h>

int main() {
    int month_day[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    int year, month, day;
    scanf("%d %d %d", &year, &month, &day);
    if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
        month_day[1]++;
    }
    int res = 0;
    for (int i = 0; i < month - 1; i++) {
        res += month_day[i];
    }
    res += day;
    printf("%d", res);

    return 0;
}

到了这里,关于C语言假期作业 DAY 01的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据结构与算法大作业:走迷宫程序(C语言,DFS)(代码以及思路)

    好家伙,写大作业,本篇为代码的思路讲解   问题描述: 以一个 m * n 的长方阵表示迷宫, 0和1分别表示迷宫的通路和障碍。 设计一个程序, 对任意设定的迷宫, 求出一条从入口到出口的通路, 或得出没有通路的结论。 基本要求: (1) 实现一个以链表做存储的栈类型,

    2024年02月03日
    浏览(43)
  • HNU数据结构与算法分析-作业1-算法分析

      1. (简答题) 1.(教材3.4)(a)假设某一个算法的时间代价为 ,对于输入规模n,在某台计算机上实现并完成该算法的时间为t秒。现在另有一台计算机,运行速度为第一台的64倍,那么t秒内新机器上能完成的输入规模为多大? 2.(教材3.12) 写出下列程序段平均情况下时间代

    2024年02月05日
    浏览(46)
  • Day01-作业(HTML&CSS)

    A. 最终效果如下: B. 文字素材如下: C. 提示: 灰色颜色的16进制,可以使用 #ccc 来表示。 如果要给某一个字体设置演示,可以通过css样式中的color属性来设置。 CSS属性提示: color: 设置字体颜色 font-size: 设置字体大小 text-align: 设置文本对齐方式 , left 、center、right 分别

    2024年02月14日
    浏览(31)
  • 数据结构作业—第十三周---- Prim算法 Kruskal算法 Dijkstra算法

    (只看点,不看边,适合边较多的图,即 稠密图 )       是一种按权值的递增次序选择合适的边来构造最小生成树的方法;( 稀疏图 ) 适合带权有向图和带权无向图求单源最短路径; 不适合含负取值的图,求最短路径; 1 . 单选题 简单 7分 对于有n个顶点的带权连通图

    2024年02月15日
    浏览(47)
  • 数据结构与算法分析 第六章 图 作业讲解

     参考教材: 《数据结构(C语言版 第2版)》 严蔚敏,李冬梅,吴伟民编著,人民邮电出版社,2022年版。 截图未标明出处均为原创或取自《数据结构(C语言版 第2版)》~   本文对应的作业题讲解视频:   数据结构与算法分析作业讲解视频合集 https://www.bilibili.com/video/BV1N

    2024年02月03日
    浏览(47)
  • 数据结构与算法【01】—绪论

    专栏地址:数据结构与算法专栏 开源仓库:bigsai-algorithm仓库 ,欢迎支持 针对以前写的数据结构与算法系列重写(针对文字描述、图片、错误修复),改动会比较大,一直到更新完为止 数据结构与算法是程序员内功体现的重要标准之一,且数据结构也应用在各个方面,业界更有

    2024年02月06日
    浏览(50)
  • HNU数据结构与算法分析-作业2-线性结构

      1. (简答题) 4.1 假设一个线性表包含下列元素: |2,23,15,5,9 使用Shaffer编写的教材《数据结构与算法分析》的List ADT编写一些C++语句,删除值为15的元素。 (要求:采用C或C++语言描述算法) 4.6 使用Shaffer编写的教材《数据结构与算法分析》的LList类,给LList类的实现添加一个成

    2024年02月05日
    浏览(54)
  • 数据结构与算法大作业——四叉树自适应模糊

    能够正确的对图像建立四叉树; 对于输入的图像,四叉树能够输出模糊的结果 对颜色相近的区域进行模糊 可通过十六进制编辑器 010editor 打开查看二进制信息 官网获取 010editor 信息 含义 P6 指明PPM的编码格式 2156 2156 图像大小为2156*2156 255 RGB的每个色彩值范围为0~255 C0 91 89(

    2024年01月19日
    浏览(40)
  • 二叉树的基本操作-C语言实现-数据结构作业

    目录  (1)二叉树的创建; (2)二叉树的先序、中序和后序遍历输出; (3)输出二叉树的叶子节点和度为2的节点的数量; (4)输出二叉树的深度; (5)将二叉树所有节点的左右子树互换(左子树变右子树,右子树变左子树); (6)参考书上,二叉树按层次输出(一行输出一层); (7)删除二

    2024年02月04日
    浏览(48)
  • 数据结构与算法分析 第五章 树和二叉树 作业讲解

     参考教材: 《数据结构(C语言版 第2版)》 严蔚敏,李冬梅,吴伟民编著,人民邮电出版社,2022年版。 截图未标明出处均为原创或取自《数据结构(C语言版 第2版)》~   本文对应的作业题讲解视频:   数据结构与算法分析作业讲解视频合集 https://www.bilibili.com/video/BV1N

    2024年02月02日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包