[C方向]作业集锦

## 点击蓝色字体可跳转至相应文章,尔后文章待续... 

 

 1.New Code day1

1. 打印100~200 之间的素数 
2. 输出乘法口诀表 
3. 判断1000年---2000年之间的闰年 

   2.New Code day2

1.给定两个整形变量的值,将两个值的内容进行交换。 
2.不允许创建临时变量,交换两个数的内容(附加题) 
3.求10 个整数中最大值。 
4.将三个数按从大到小输出。 
5.求两个数的最大公约数。

   3.New Code day3

1.将数组A中的内容和数组B中的内容进行交换。(数组一样大) 
2. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。 
3. 编写程序数一下 1到 100 的所有整数中出现多少次数字9。 

   4.New Code day4

1.在屏幕上输出以下图案: 
        * 
       *** 
      ***** 
     *******  
      ***** 
       *** 
        * 

2.求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。 

/* 
在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。 
例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数: 
153 = 1^3 + 5^3 + 3^3。 
370 = 3^3 + 7^3 + 0^3。 
371 = 3^3 + 7^3 + 1^3。 
407 = 4^3 + 0^3 + 7^3。 
*/ 


3. 
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222 

4.编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。 

   5.New Code day5

1.完成猜数字游戏。 

2.写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找) 

3.编写代码模拟三次密码输入的场景。 
最多能输入三次密码,密码正确,提示“登录成功”,密码错误,可以重新输入,最多输入三次。三次均错,则提示退出程序。 

4.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。

   6.New Code day6

1.写一个函数返回参数二进制中 1 的个数 
比如: 15 0000 1111 4 个 1 
程序原型: 
int count_one_bits(unsigned int value) 
{ 
// 返回 1的位数 
} 

2.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。 

3. 输出一个整数的每一位。 
4.编程实现: 
两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 
输入例子: 
1999 2299 
输出例子:7	

   7.New Code day7

1. 
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 
输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。 

2. 
使用函数实现两个数的交换。 

3. 
实现一个函数判断year是不是润年。 

4. 
创建一个数组, 
实现函数init()初始化数组、 
实现empty()清空数组、 
实现reverse()函数完成数组元素的逆置。 
要求:自己设计函数的参数,返回值。 

5.实现一个函数,判断一个数是不是素数。

   8.New Code day8

1. 
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 
A选手说:B第二,我第三; 
B选手说:我第二,E第四; 
C选手说:我第一,D第二; 
D选手说:C最后,我第三; 
E选手说:我第四,A第一; 
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。 

2. 
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个 
嫌疑犯的一个。以下为4个嫌疑犯的供词。 
A说:不是我。 
B说:是C。 
C说:是D。 
D说:C在胡说 
已知3个人说了真话,1个人说的是假话。 
现在请根据这些信息,写一个程序来确定到底谁是凶手。 

3.在屏幕上打印杨辉三角。 
1 
1 1 
1 2 1 
1 3 3 1 

   9.New Code day9 -扫雷

   10.New Code day10-三子棋

   11. New Code day12

1.编写函数: 
unsigned int reverse_bit(unsigned int value); 
这个函数的返回值value的二进制位模式从左到右翻转后的值。 

如: 
在32位机器上25这个值包含下列各位: 
00000000000000000000000000011001 
翻转后:(2550136832) 
10011000000000000000000000000000 
程序结果返回: 
2550136832 

2.不使用(a+b)/2这种方式,求两个数的平均值。 

3.编程实现: 
一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 
请找出这个数字。(使用位运算) 

4. 
有一个字符数组的内容为:"student a am i", 
请你将数组的内容改为"i am a student". 
要求: 
不能使用库函数。 
只能开辟有限个空间(空间个数和字符串的长度无关)。 

   12.New Code day13

1.调整数组使奇数全部都位于偶数前面。 

题目: 

输入一个整数数组,实现一个函数, 
来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 
所有偶数位于数组的后半部分。 

2. 
//杨氏矩阵 
有一个二维数组. 
数组的每行从左到右是递增的,每列从上到下是递增的. 
在这样的数组中查找一个数字是否存在。 
时间复杂度小于O(N); 

数组: 
1 2 3 
2 3 4 
3 4 5 


1 3 4 
2 4 5 
4 5 6 

1 2 3 
4 5 6 
7 8 9 

13.New Code day14

1.实现一个函数,可以左旋字符串中的k个字符。 
ABCD左旋一个字符得到BCDA 
ABCD左旋两个字符得到CDAB 

2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 
例如:给定s1 =AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0. 

AABCD左旋一个字符得到ABCDA 
AABCD左旋两个字符得到BCDAA 

AABCD右旋一个字符得到DAABC 

14.New Code day16

1.递归和非递归分别实现求第n个斐波那契数。 

2.编写一个函数实现n^k,使用递归实现 

3. 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19 

4. 编写一个函数reverse_string(char * string)(递归实现) 
实现:将参数字符串中的字符反向排列。 
要求:不能使用C函数库中 
的字符串操作函数。 

5.递归和非递归分别实现strlen 
6.递归和非递归分别实现求n的阶乘 
7.递归方式实现打印一个整数的每一位 

15.New Code Day15

day15 
1.一个数组中只有两个数字是出现一次, 
其他所有数字都出现了两次。 
找出这两个数字,编程实现。 


2.喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水, 
给20元,可以多少汽水。 
编程实现。 

3.模拟实现strcpy 
4.模拟实现strcat 

16.New Code day17

3.实现strstr 
4.实现strchr 
5.实现strcmp 
6.实现memcpy 
7.实现memmove

17.C语言通讯录动态加密可保存版本

待续~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

quchen528

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值