1,将一个一位数组a[10]中的元素值按逆序重新存放.假定数组中原来元素顺序为:1,3,5,7,9,8,6,4,2,0,按逆序重新存放后元素的值位:0,2,4,6,8,9,7,5,3,1。要求:在程序中将数组初值初始化,输出逆序重新存放后元素的值。
2,给定2维数组如下,求该数组2条对角线元素之和
a=3 6 4 6
8 3 1 3
4 7 1 2
2 9 5 3
要求:1,在主函数中实现:数组赋初值及求和结果的输出
3,编一个函数实现:求数组2条对角线之和,用2维数组名做参数。
提示:注意对角线上元素的下标满足什么条件
4.编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词
5.求出数组int a[10]的最大数和最小数。
6.统计具有10个元素的自然数数组中的奇数个数
7.输入20个实数存放在一维数组中,输出它们的平均值以及高于平均值的数的个数、
8.数组的元素的删除,从数组中删除指定的元素n
9.有一个4 x 4的矩阵,编程将行和列的元素互换,输出互换后的矩阵
10.假如数组a有4行4列的整数,请输出每行的最大者
11.编程实现对键盘输入的英文名句子进行加密。用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变。
比如:a1b#@ 加密后为d1e#@
12.编程实现将任意的十进制整数转换成R进制数(R在2-16之间)
13.随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。
14,已知5个学生的3门成绩
COURSE1 COURSE2 COURSE3 AVER
STUD1 76 80 90
STUD2 90 65 77
STUD3 63 55 70
STUD4 90 92 97
STUD5 73 69 82
要求:
1,求出并输出每个学生的平均成绩
2,求出并输出每门课的平均成绩
15.找出一个二维数组中的“鞍点”,即该位置上的元素在该行中最大,在该列中最小(也可能没有“鞍点”),打印出有关信息。
16..耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号
17.下面代码输出结果是?(根据学过的指针和数组完成)
int main() { char * p[] = { "ab" ,"cd" , "ef" ,"gh", "ij" ,"kl" }; char* t; t= (p+sizeof(int))[-1]; printf( "%s" , t); }
int main() { char p; char buf[10] ={ 1,2,3,4,5,6,9,8}; p = (buf+1)[5]; printf("%d" , p); }
int main() { int a[5] = {1,2,3,4,5}; int *ptr = (int*)(&a+1); printf("%d %d" , *(a+1), *(ptr-1) ); }
int main() { int a[][3] = { 1,2,3 ,4,5,6}; int (*ptr)[3] =a; printf("%d %d " ,(*ptr)[1], (*ptr)[2] ); ++ptr; printf("%d %d" ,(*ptr)[1], (*ptr)[2] ); }
18.编一程序,将两个字符串连接起来,不要用strcat函数。
19.用函数实现在一个字符串中查找某个字符是否有出现的功能。
20. 上台阶的几种走法:要么走一步,要么走两步,问如果有n个台阶有多少中走法!
21.写一个函数找出一个整数数组中,第二大的数
22. 用c语言的库函数time获取系统时间,用ctime转换为字符串, 用指针运算获取年月日,在终端输出
比如 2021 年 01 月 21日
23 .定义个二维数组4行4列, 用随机数填充每一个元素, 定义个数组指针, 并且用数组指针计算二维数组的每一行元素和
24. 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
25.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上168后再开方
26. 编程一个程序, 检查当前系统里面的堆,和栈的地址增长方向
27. 定义二维数组, 数组空间申请为堆空间, 通过指针把数据进行初始化(自定义),并且把二维数组中的最大值和最小值,做差值运算输出
28. 定义个字符串数组char str[]=“http://www.xuexifenxiang.com”,把里面的www 替换为edu, 把xuexifenxiang替换为yueqian,并且在后面添加.cn
29. char *name[]={“jack”, “rose”, “tom”, “tiydy”};把这个数组中所有名字, 组装为 “name:[jack,rose,tom, tiydy]” 输出
30.在主函数中输入10个等长的字符串。用另一个函数对它们排序,然后在主函数输出这10个已排好的字符串。(用strcmp进行比较)
31.将一个5×5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(按从左到右、从上到下的顺序 ,依次从小到大存放),写一个函数实现之,并用main数调用。
32.打印魔方阵。
所谓魔方阵是指这样的的方阵:
它的每一行、每一列和对角线之和均相等。
输入n,要求打印由自然数1到n2的自然数构成的魔方阵(n为奇数)。
例如,当n=3时,魔方阵为:
8 1 6
3 5 7
4 9 2
魔方阵中各数排列规律为:
① 将“1”放在第一行的中间一列;
② 从“2”开始直到n×n为止的各数依次按下列规则存放:每一个数存放的行比前一个数的行数减1,列数同样加1;
③ 如果上一数的行数为1,则下一个数的行数为n(最下一行),如在3×3 方阵中,1在第1行,则2应放在第3行第3列。
④ 当上一个数的列数为n时,下一个数的列数应为1,行数减1。如2在第3行第3列,3应在第2行第1列。
⑤如果按上面规则确定的位置上已有数,或上一个数是第1行第n列时,则把下一个数放在上一个数的下面。如按上面的规定,4应放在第1行第2列,但该位置已被1占据,所以4就放在3的下面。由于6是第1行第3列(即最后一列),故7放在6下面
33.定义一个电影结构体成员(片名,导演,片长),定义一个对象, 从键盘输入电影相关信息存储在结构体中
34. 计算下面结构体占用的空间(分别在32位, 和64位系统中)
struct Data{ int a; int *aptr; char *array[5]; char (*astr)[5]; char name[12]; int (*a[5])(int,int); };