c
没事多吃饭
拿游戏本做开发的加菲猫
展开
-
基于c语言链表的通讯录
本人使用makefile文件,所以总代码分为四部分tele.h:#ifndef TELE_H#define TELE_H#include<stdio.h>#include<stdlib.h>#include<string.h>struct node{ char name[12];//姓名 char sex[10];//性别 i...原创 2019-03-23 18:50:54 · 662 阅读 · 0 评论 -
strcat()函数的用法
这几天的一次程序练习中用到了strcat()函数,但也想到了一些问题。 我们都知道strcat(str,ptr)是将字符串ptr内容连接到字符串str后,然后得到一个组合后的字符串str,比如str字符串内容为"123456\0",ptr字符串为"abc\0",那么strcat(str,ptr)后str内容为"123456abc\0",输出结果为1234...原创 2019-05-13 13:42:50 · 158188 阅读 · 15 评论 -
取十个1-100的随机整数,然后倒序打印出来。(通过指针,而不是数组下标)
这题就是生成随机数和排序的问题,我用的是冒泡排序,代码如下,仅供参考#include <stdio.h>#include <time.h>#include <stdlib.h>int random_100(void){ int a; srand((unsigned)time(NULL)); a = rand() % 100 + 1;//生...原创 2019-04-25 17:38:54 · 679 阅读 · 0 评论 -
方阵的主对角线之上称为“上三角”。 请你设计一个用于填充n阶方阵的上三角区域的程序。填充规则是:使用1,2,3...的自然数列,从左上角开始, 按照顺时针方向螺旋填充。
填充规则是:使用1,2,3...的自然数列,从左上角开始,按照顺时针方向螺旋填充。例如:当n=3时,输出:1 2 36 45当n=4时,输出:1 2 3 49 10 58 67当n=5时,输出:1 2 3 4 512 13 14 611 15 710 89这道题我开始不会写,也是在看了别人的讲解后才明白的,代码如下,仅供参考#include <st...转载 2019-04-25 17:34:11 · 1612 阅读 · 0 评论 -
写一个函数,将字符串转换成带符号整型数据
我的思路是将字符串从后往前进行操作,也就是对应整数的个,十,百位这样,代码如下,经供参考#include <stdio.h>#include <string.h>int main(){ char str[128] = {0}; char c; signed int goal = 0; printf("printf a str:\n"); int...原创 2019-04-24 14:49:30 · 1134 阅读 · 0 评论 -
输入一行字符,分别统计出其中英文字母、空格、数字的个数。
本题就是简单的计数运算,if语句判断条件理解就好#include <stdio.h>#include <string.h>int main(){ char str[128] = {0}; char c; printf("input str:\n"); int i; i = 0; while((c = getchar()) != '\n')//输...原创 2019-04-24 14:46:49 · 899 阅读 · 0 评论 -
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
这个代码思路挺简单的,但在实现时本人还是思考了好久,代码如下,仅供参考#include <stdio.h>int main(){ int m; printf("input one num:\n"); scanf("%d",&m); int temp = m; printf("result:%d =",m); while(temp != 1) {...原创 2019-04-23 20:06:07 · 2789 阅读 · 0 评论 -
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
寻找这个数的条件是两次判断,所以整体使用嵌套循环语句即可#include <stdio.h>int main(){ int i; int j; int k; for(i = 0; i < 1000; i++)//我们要判断的数 { for(j = 0; j < 1000; j++)//判断i+100是否是j的平方数 { if(i + 1...原创 2019-04-23 20:04:00 · 12022 阅读 · 5 评论 -
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#include <stdio.h>int main(){ int a;//百位 int b;//十位 int c;//个位 for(a = 1; a <= 4; a++) { for(b = 1; b <= 4; b++) { if(b != a)//十位不与百位相同 { for(c = 1; c <= 4; c++)...原创 2019-04-23 20:01:35 · 242 阅读 · 0 评论 -
c语言中自己写实现strcat(),strcpy(),strcmp()的函数
c语言中的string.h头文件中虽然有这三个函数,但老师让我们自己写函数,所以添加了一点自己的想法写了这三个函数。strcat:#include <stdio.h>void str_cat(char* p,char* q){ while((*p) != '\0')//指针p移动到front尾 { p++; } while((*q) != '\0')//将...原创 2019-04-17 10:54:20 · 2041 阅读 · 2 评论 -
linux下隐藏scanf输入内容
linux下不可使用conio.h库中的getch()函数来进行隐藏输入,但linux下有自带的命令隐藏写入,这个命令就是stty -echo,在命令行输入该命令后就不再显示输入,相反的命令是stty echo,显示写入,写在代码中如下:char c[32];system("stty -echo");scanf("%s",c);system("stty echo");...原创 2019-04-08 17:06:00 · 741 阅读 · 0 评论 -
c语言动静态库
一,动静态库1.什么是库文件?用来保存函数和变量的仓库,只能使用库文件里的函数或者变量,但无法看到是如何实现的。例如:printf,scanf,strcpy这些都是库函数,也就是保存在库文件里的函数2.linux库文件:静态库.a 和动态库.so3.linux库文件的存放位置:/lib:系统启动和运行需要的库/usr/lib:应用程序启动或者运行需要加载的库...原创 2019-04-08 00:13:11 · 296 阅读 · 0 评论 -
c与指针读书笔记(20190325-27)
第一章节在c语言中,数组参数是以引用(reference)形式进行传递的,也就是地址调用,而标量和常量是按值(value)传递的。字符串由双引号括起来,每个字符串都由NLI(类似符号\0)做结尾,故"hello"占6个字节。printf格式与含义:%d 十进制整数%o 八进制%x 十六进制%g 一个浮点值%c 一个字符%s 一个字符串sca...原创 2019-03-27 20:22:44 · 93 阅读 · 0 评论 -
完全基于数学的杨辉三角形
众所周知,杨辉三角形用数组做会非常简单,但毕竟杨辉三角形的原理以及公式我们高中就学过了 ,代码如下:#include <stdio.h>#include <stdlib.h>int factory(int n,int j){ if (n < j) { printf("input error!\n"); exit(1); } if(j =...原创 2019-03-31 22:59:58 · 95 阅读 · 0 评论 -
20190323学习小结
今天在通讯录中加入了用户身份验证以及注册功能客户端client代码:界面程序usr_menu():void usr_menu(){ system("clear"); printf("\t\t----1.用户登录----\n"); printf("\t\t----2.用户注册----\n"); printf("\t\t----3.退出登录----\n"); print...原创 2019-03-23 20:03:05 · 72 阅读 · 0 评论 -
linux下c语言共享内存调用
共享内存作用:让同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新共享内存使用步骤:(这里还有要通过ftok()函数获得键值,所以还有打开文件的操作)1.进程调用shmget函数创建新的或获取已有共享内存2.进程调用shmat函数,将物理内存映射到自己的进程空间3.shmdt函数,取消映射4.调用shmctl函数释...原创 2019-06-18 14:40:42 · 6598 阅读 · 0 评论