![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C习题
C语言题目
ScarboroughFair#
这个作者很懒,什么都没留下…
展开
-
文件练习题
1.从键盘输入一个字符串,将其中小写字母全部换成大写字母,然后输入到一个磁盘文件test中保存。输入字符串以“!”结束#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ FILE*fp; char arr[100],p; int i,j,k; fp = fopen("A.txt","r"); while(!feof(fp)) { fsca原创 2021-11-21 11:47:33 · 295 阅读 · 0 评论 -
操作符习题
目录1.求两个数二进制中不同位的个数2.打印整数二进制的奇数位和偶数位3.统计二进制中1的个数(3种方法)4.交换两个变量(不创建临时变量)1.求两个数二进制中不同位的个数编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?输入例子:1999 2299输出例子:7int count_deff_bit(int m, int n){ int i = 0; int c = 0; for (i = 0; i < 32; .原创 2021-11-18 22:13:18 · 218 阅读 · 0 评论 -
混合数列平方后重新排序
给定一个可能存在负数的正序数列(递增数列),将所有元素平方后重新排序int* sortedSquares(int* nums, int numsSize, int* returnSize) { int negative = -1; for (int i = 0; i < numsSize; ++i) { if (nums[i] < 0) { negative = i; } else { brea原创 2021-11-14 22:43:05 · 369 阅读 · 0 评论 -
螺旋状的位置编号
题目要求:聪明的小T有一个奇怪的爱好,她对螺旋状的事物情有独钟。最近小T的学长忙得不可开交,将为同学们安排比赛座位的任务交给了小T完成。比赛教室中位置的排列方式规律,为一个M行,N列的矩阵,学长告诉小T需要为此教室所有位置贴上编号,且位置编号从1开始依次增加,一直到教室全部被填满为止。学长还指明了编号为1的位置的坐标为第x行,第y列。因为小T对螺旋状事物的热爱,小T决定将编号的排列方式设计为以确定的编号1位中心的顺时针向外旋转的螺旋状。即使旋转到了教室之外也不能破坏螺旋结构,需要等到旋转回教室之内后再继原创 2021-11-14 22:39:44 · 367 阅读 · 0 评论 -
全排列问题(1到n的排列组合)
#include<stdio.h>#define N 20int n;//将其设置为全局变量int visit[N]={0};//0代表未访问,1代表已访问。int a[N] = {0};//记录全排列的方式。//输出函数void printF(){ int i ; for(i=1 ; i<=n ; i++) printf("%5d",a[i]); printf("\n");}void dfs(int x)//x代表递归的层数{ int i; if(.原创 2021-11-14 21:48:54 · 589 阅读 · 0 评论 -
定义结构体
定义一个结构体,用于保存学生信息。学生信息包括:姓名、年龄、性别、学号。(学号定为整型即可)。学生个数不定,由控制台输入,然后依次录入学生信息,。最后将学生按学号顺序从小到大排序,并输出学生的信息。要求用到结构体指针。 #include <stdio.h> struct student { char num; char name[20]; char sex; char age; }; int main() { int n; int i = 0; s原创 2021-11-14 11:20:44 · 1057 阅读 · 0 评论 -
实现单链表功能
用尾插法建立一个单链表,实现对单链表节点的删除、改变其数据域、查看所有的链表节点的数据域。要求:尾插法建立、节点的删除、改变节点数据域、查看所有节点的数据域。这四个功能分别用四个函数来实现。主函数里只定义链表的头指针。初次实践#include <stdio.h>>#include <stdlib.h>#include <stdbool.h>#define ElemType inttypedef struct LNode{ ElemType原创 2021-11-14 11:13:20 · 726 阅读 · 0 评论 -
动态内存分配_经典笔试题
习题1void GetMemory(char *p) { p = (char *)malloc(100);}void Test(void) { char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str);}//改正char* GetMenory(char* p)//注意返回值{ p = (char*)malloc(100); return p;}void Test(vo.原创 2021-11-08 11:14:29 · 131 阅读 · 0 评论 -
指针&字符串_习题
1. 将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。形成新的字符串用strcat函数即可#include <stdio.h>#include <stdio.h>#include <assert.h>#include <string.h>#include <stdlib.h>void reverse(char* str){ assert(str); int len = strlen(str); ch.原创 2021-11-07 16:36:18 · 964 阅读 · 0 评论 -
数组&字符串_习题
目录1.求整数序列中出现次数最多的数2.凯撒密码(其中一种ji3.要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。(注意:给定字符可能是非常规字符)4.字符串排序5.统计一行文本的单词个数6.删除字符串中的指定字母7.螺旋数阵1.求整数序列中出现次数最多的数本题要求统计一个整型序列中出现次数最多的整数及其出现次数。输入格式:输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。输原创 2021-11-05 16:58:36 · 1218 阅读 · 0 评论 -
字符串左旋与字符串旋转结果判断
1.字符串左旋实现一个函数,可以左旋字符串中的k个字符例如 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB#include <stdio.h>void string_left_rotate(char* str, int k){ int i = 0; int n = strle(str); for(i = 0;i<k;i++) { //每次左旋转一个字符 char tmp = *str;//1 //2.把后面的n-1个字符往..原创 2021-11-04 21:20:13 · 174 阅读 · 0 评论 -
杨氏矩阵问题
1.杨氏矩阵有一个数组矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。要求时间复杂度小于0(N)//复杂方式#include <stdio.h>int main (){ int arr[3][3] = {1,2,3,4,5,6,7,8,9}; //查找一个数字,比如7 int i = 0; int j = 0; for(i = 0;i<3;j++) { for(j = 0;j<3;j++)原创 2021-11-04 17:01:25 · 148 阅读 · 0 评论 -
指针(进阶)习题
1.实现一个计算器,计算整形变量的加减乘除int Add(int x, int y){ return x + y;}int Sub(int x, int y){ return x - y;}int Mul(int x, int y){ return x * y;}int Div(int x, int y){ return x / y;}void menu(){ printf("**************************\n"); printf("原创 2021-11-04 15:06:48 · 190 阅读 · 0 评论 -
函数部分习题
1.找最大公约数#include <stdio.h>int main(){ int m = 0; int n = 0; int ret; scanf("%d %d",&m,&n); if(m>n) ret = n; else ret = m; while(1) { if(m%ret == 0&&n%ret == 0) { br原创 2021-11-03 09:46:23 · 2361 阅读 · 0 评论 -
递归部分习题
1.打印四位数的每个位的数字#include <stdio.h>void print(unsigned int n){ if(n>9) { print(n/10); } printf("%d ",n%10);}int main (){ unsigned int num = 0; scanf("%u",&num); print(num);}2、打印字符串长度(不允许创建临时变量)#include <stdio.h>.原创 2021-11-03 09:42:20 · 111 阅读 · 0 评论 -
打印杨辉三角
#include <stdio.h>int main (){ int arr[10][10] = {0}; int i = 0; int j = 0; for(i = 0;i<10;i++) { for(j = 0;j<10;j++) { if(j==0) { arr[i][j] = 1; } if(i==j) { arr[i][j] = 1.原创 2021-11-02 15:32:00 · 61 阅读 · 0 评论 -
大小端应用
#include <stdio.h>int main (){ unsigned int a = 0x1234; unsigned char b = *(unsigned char*)&a; return 0;}在32为位大端模式处理器上b等于? 强制转化成unsigned char*类型后只访问一个字节原创 2021-11-02 15:21:22 · 90 阅读 · 0 评论