C语言实战
佳佳鸽
这个作者很懒,什么都没留下…
展开
-
C语言实现定时任务
例:设置定时任务,每周周X的X时X分自动重启系统思路:将设置好的重启时间保存到本地配置文件中,设置定时器定时一分钟,每一分钟信号触发一次事件,事件函数中获取配置文件信息与当前系统时间信息,将两个时间进行时间差计算,符合条件的自动重启系统.//创建定时器函数(通过信号触发事件timer_task函数启动)int create_timer(){ struct sigevent evp; int ret = 0; memset(&evp, 0, sizeof(stru原创 2022-02-25 10:24:49 · 4405 阅读 · 0 评论 -
整型转字符型
包含头文件:#include <stdio.h>函数体int sprintf(char *str, const char *format, ...);例子:int num = 99;char N[3];sprintf(N,"%d",num);原创 2021-05-26 20:58:30 · 310 阅读 · 0 评论 -
C语言字符串拼接
包含头文件:#include <stdio.h>函数体int sprintf(char *str, const char *format, ...);例子:int gpio_num = 99;char PATH[64];sprintf(PATH,"/sys/class/gpio/gpio%d/value",gpio_num);int gpio_num = 99;char str[10] = "asd";char PATH[64];sprintf(PATH,"welcom原创 2021-05-26 20:55:44 · 543 阅读 · 0 评论 -
试写一个函数,计算字符串 s中最大连续相同的字符个数。例如,若s 为“aaabbbb“,则返回值为4;若s为“abcde“,则返回值为1。
试写一个函数,计算字符串 s中最大连续相同的字符个数。例如,若s 为"aaabbbb",则返回值为4;若s为"abcde",则返回值为1。int max_same_char( char* s);具体代码及解析如下:#include <stdio.h>#include <string.h>int max_same_char( char* s) //相同字符出现次数{ int sum = 0; int max = 0; for(int i = 0; s[i]原创 2020-11-11 18:40:08 · 2476 阅读 · 4 评论 -
c语言显示动态进度条
本篇仅用于记录自己所学知识及应用,代码仍可优化,仅供参考,如果发现有错误的地方,尽管留言于我,谢谢。运行结果:下面为显示进度条的函数,通过struct copy_arg结构体传参。其中cp_size(s1)为已经完成的部分,file_size(s2)为需要完成的部分(总大小)struct copy_arg //定义结构体存储文件描述符{ int s1; int s2;};void *schedule(void *size_arg)原创 2020-09-15 21:41:37 · 3569 阅读 · 0 评论 -
统计任意一个文件中,某字符串(hello为例)出现的次数
统计任意一个文件中,某字符串(hello为例)出现的次数。做法中用到了strstr(),strcmp()两个函数,用于比较字符。函数用法更多资料请点击:我的目录做法一:#include <time.h>#include <errno.h>#include <stdio.h>#include <fcntl.h>#include <stdlib.h>#include <unistd.h>#include <stdi原创 2020-07-15 20:11:14 · 1768 阅读 · 0 评论 -
定义一个结构体来存储日期(含年、月、日)。并设计一个函数,计算传入的结构体存储的日期是一年中的第几天
更多资料请点击:我的目录这个题目主要还是要考虑输入年份是否为润年,润年的标志:能被4和100整除或被400整除运行结果:#include <stdio.h>struct Date{ int year; int month; int day;};int days(int year, int month ,int day);struct Date date;...原创 2020-02-06 16:12:01 · 7056 阅读 · 1 评论 -
C语言编程实现字符串数组元素的逆转(递归实现字符串翻转)
更多资料请点击:我的目录#变换前与变换后#在这里插入图片描述#include <stdio.h>#include <string.h>void recur(char a[], int k);int main(){ char a[] = "abcdefghijklmnopqrstuvwxyz"; char b[] = "jiajiagehahaha";...原创 2020-02-05 11:56:41 · 2559 阅读 · 0 评论 -
C语言编程实现冰雹猜想的算法,并测算各个自然数到达4-2-1谷底(即N等于4,2,1结束后)所经过的变换次数。
更多资料请点击:我的目录1976年的一天,《华盛顿邮报》于头版头条刊登了一条数学新闻,文中叙述了这样一则故事:70年代中期,美国个所名牌大学校园内,人们都像发疯一般,日以继夜废寝忘食地玩弄一种数学游戏,这个游戏十分简单,任意写出一个(非零)自然数N,并且按照以下规律进行变换:如果是个奇数,则下一步变成 3N+1如果是个偶数,则下一步变成 N/2一时间学生、教师、研究员、教授,甚至是一等一的...原创 2020-02-04 18:29:12 · 3343 阅读 · 1 评论 -
编写一个程序,不使用格式控制符 %x 的情况下,将十进制数转换为十六进制。
更多资料请点击:我的目录#include <stdio.h>void func(unsigned n,char hex_num[]);int main(){ int n; char hex_num[17]="0123456789ABCDEF"; //定义一个char字符型数组存放十六进制数 printf("请输入一个十进制正整数:"); scanf("%d",&am...原创 2020-02-04 17:58:14 · 1719 阅读 · 0 评论 -
编写一个c程序,测试当前平台的字节序(大端序 \ 小端序)
更多资料请点击:我的目录#include <stdio.h>int main(){ int a = 0x11223344; char *p = (char *) &a; if(*p == 0x44) printf("小端序!\n"); if(*p == 0x11) printf("大端序!\n"); return 0;}更多资料请点击:我的目录...原创 2020-02-03 17:36:03 · 1626 阅读 · 0 评论 -
数组元素的输入、输出
数组元素的输入:char array[120] = { 0 }; //定义时清零scanf("%s",array); //不用使用地址符,array相当于在array[0]的地址(即array的首地址)开始输入char array[][120] = { 0 }; //定义时清零for(i = 0; i < 10; i++){ scanf("%s",&ar...原创 2020-02-01 21:06:47 · 3777 阅读 · 0 评论 -
生成多个随机数的数组,srand()函数
更多资料请点击:我的目录c语言-生成多个随机数的数组,只要调用 srand()此函数就可以实现,具体用法如下:#include <stdio.h>#include <stdlib.h>#include <time.h>srand(time(NULL)); //生成随机数 for(k = 0; k < 5; k++) //遍历5个数组...原创 2020-01-30 13:44:00 · 2291 阅读 · 0 评论 -
C语言购物管理系统项目
C语言购物管理系统项目更多资料请点击:我的目录#include <stdio.h>#include <string.h>#include <stdlib.h>#include <time.h>void start(); //开始主菜单界面void systems(); //进入登录系统界面void system_1(); //注...原创 2020-01-30 12:05:03 · 10789 阅读 · 8 评论 -
编写一个程序,初始化一个 3x5的二维 double 型数组,并利用一个基于变长数组的函数把该函数赋值到另 一个二维数组,另外再写一个基于变长数组的函数来显示两个数组的内容。
编写一个程序,初始化一个 3x5的二维 double 型数组,并利用一个基于变长数组的函数把该函数赋值到另 一个二维数组,另外再写一个基于变长数组的函数来显示两个数组的内容。这两个函数应该能够处理任意的 NxM数组.更多资料请点击:我的目录#include <stdio.h> void copy_arr(int n,int m,double source[n][m],doubl...原创 2020-01-16 10:29:32 · 1942 阅读 · 0 评论 -
一个有 N个元素的整型数组,求该数组的各个子数组中,子数组之和的最大值是多少? 例如数组 a[6]={-2,5,3,-6,4,-8,6};则子数组之和的最大值是 8(即 a[1]+a[2])。
一个有 N个元素的整型数组,求该数组的各个子数组中,子数组之和的最大值是多少? 例如数组 a[6]={-2,5,3,-6,4,-8,6};则子数组之和的最大值是 8(即 a[1]+a[2])。更多资料请点击:我的目录#include <stdio.h>int i ,j , N,max;int main(){ printf("请输入数组大小:"); scanf("%d"...原创 2020-01-16 09:38:28 · 4569 阅读 · 0 评论 -
编写一个程序,去掉给定字符串中重复的字符。
编写一个程序,去掉给定字符串中重复的字符。更多资料请点击:我的目录我的方法是:先跑俩个for循环,遍历所有元素,将每一个元素与数组所有元素作比较,如果相同,将下一个元素赋给当前已有的元素,跑第三个循环,依次将后一项赋给前一项。因为所有元素项前移一位,那么结尾项n就会与前一项n-1相同,因此循环结束后需要将数组长度减一(j–),并将(N–)回到移项后的第一位开始下一轮循环比较。#include...原创 2020-01-16 09:15:01 · 5583 阅读 · 2 评论 -
冒泡排序算法:用户输入数组项数,并输入各项数值,由小到大输出各项值,并求出数组输入数值的最大值与最小值的差值。
题目:用户输入数组项数,并输入各项数值,由小到大输出各项值,并求出数组输入数值的最大值与最小值的差值。要求:将由小到大输出各项值、求出数组输入数值的最大值与最小值的差值部分封装成函数。更多资料请点击:我的目录#include <stdio.h>double max_min(int len, double arr[]); //求最大值与最小值的差值double show...原创 2020-01-13 20:29:45 · 529 阅读 · 0 评论 -
c语言数组与指针定义(例子)
此篇是c语言数组与指针的定义例子,通过习题理解更多资料请点击:我的目录1、 假如有如下定义: int a[3][5];a. 用 1 种方法表示 a[2][3]的地址。&a[2][3]b. 用 2种方法表示 a[2][0]的地址。&a[2]&a[2][0]c. 用 3 种方法表示 a[0][0]的地址。&a&a[0]&a[0]...原创 2020-01-13 18:57:23 · 1568 阅读 · 0 评论 -
c语言string.h中常用的strlen、strcmp、strcpy、strcat、strtok、strstr函数用法
#include <stdio.h>#include <string.h>int main(){ char str1[120],str2[]="i am jiajia"; strcpy(str1,str2); printf("%s\n",str1); printf("%s\n",str2); return 0;}原创 2020-01-11 11:01:34 · 1340 阅读 · 0 评论 -
C语言-用户登录系统
运行程序时,指定用户名,不输入,或少输入,或输入错误,都提示用户不同的错误,并退出程序。用户名正确:开始输入密码(要求错误后能多次输入,循环)。密码输入错误:重新输入(错误5次结束程序)。输入正确:打印欢迎用户!更多资料请点击:我的目录运行时输入用户名与密码:#include <stdio.h>#include <string.h>int main(in...原创 2020-01-10 20:25:53 · 23933 阅读 · 1 评论 -
使用循环结构,将所有外部进程传参打印出来
使用循环结构,将所有传参打印出来:更多资料请点击:我的目录#include <stdio.h>int main(int argc , const char **argv){ printf("argc == %d\n",argc); int i = 0 ; while(i < argc ) { printf("argv[%d]==%s\n",i,argv...原创 2020-01-10 16:05:53 · 180 阅读 · 0 评论 -
编写一个程序,清除用户输入字符串中的空格符并将之输出。
编写一个程序,清除用户输入字符串中的空格符并将之输出。更多资料请点击:我的目录#include <stdio.h>#include <string.h>int main(){ char character[120]; printf("请输入字符串:"); scanf("%[^\n]",character); //输入一个带空格的字符串 int i;...原创 2020-01-10 14:21:41 · 8923 阅读 · 7 评论 -
编写一个函数Fibonacci(),要求程序输出第 n 项斐波那契数,n 由用户输入。 斐波那契数列:1,1,2,3,5,8,13,21
编写一个函数Fibonacci(),要求程序输出第 n 项斐波那契数,n 由用户输入。 斐波那契数列:1,1,2,3,5,8,13,21,……用户输入n是多少,最后就会输出第几个数。更多资料请点击:我的目录#include <stdio.h>int Fibonacci(int n);int main(){ printf("请输入一个数:"); int n; sc...原创 2020-01-10 13:50:25 · 13758 阅读 · 0 评论 -
编写一个函数,用循环/递归的方法实现返回一个float 类型数的某个整数次幂
编写一个函数,用循环的方法实现返回一个float 类型数的某个整数次幂更多资料请点击:我的目录#include <stdio.h>float my_power(float a,int b){ int sum1 = 1; float sum2 = 1.0; if( b > 0 ) { for( int i = 0; i < b; i++ ) { ...原创 2020-01-09 20:29:50 · 2423 阅读 · 1 评论 -
编写一个程序,将两个字符串连接起来,不要用strcat 或 strncat 函数。
编写一个程序,将两个字符串连接起来,不要用strcat 或 strncat 函数。更多资料请点击:我的目录#include <stdio.h>int main(){ char str1[80],str2[40]; int i=0,j=0; printf("请输入第一个字符串:"); scanf("%s",str1); printf("\n请输入...原创 2020-01-09 19:14:29 · 53958 阅读 · 23 评论 -
编写一个函数,使其返回 3 个整型参数中的最大值
编写一个函数,使其返回 3 个整型参数中的最大值。更多资料请点击:我的目录#include <stdio.h>int max(int x1, int x2, int x3); //函数声明,必须要写在main()函数前int main(){ int a, b, c; printf("请输入三个整数:"); scanf("%d %d %d",&a, &am...原创 2020-01-09 19:00:34 · 13803 阅读 · 2 评论 -
编写一个程序,该程序读取输入直到遇到#字符,然后报告读取的空格数目、读取的换行符数目以及读取的所有其他字符数目。
编写一个程序,该程序读取输入直到遇到#字符,然后报告读取的空格数目、读取的换行符数目以及读取 的所有其他字符数目。更多资料请点击:我的目录#include<stdio.h>int main(){ printf("请输入字符:"); char ch; int spaces = 0; int newline = 0; int character = 0; while(...原创 2020-01-09 18:51:31 · 6998 阅读 · 3 评论 -
编写一个程序,用户输入某个大写字母,产生一个金字塔图案。例如用户输入字母E,则产生如下图案:(金字塔)
编写一个程序,用户输入某个大写字母,产生一个金字塔图案。例如用户输入字母E,则产生如下图案:更多资料请点击:我的目录#include<stdio.h>int main(){ char u_letter; printf("请输入一个大写字母:"); scanf("%c",&u_letter); printf("\n"); if(u_letter >=6...原创 2020-01-09 18:48:42 · 3487 阅读 · 0 评论 -
c语言输出心形♥
c语言输出心形♥更多资料请点击:我的目录#include<stdio.h>#include<stdlib.h>int main(){ int i, j; for (i = 0; i < 3;i++) for (j = 0; j < 5-2*i;j++) { printf(" "); } for (j = 0; j &...原创 2020-01-09 18:46:00 · 4480 阅读 · 3 评论 -
打印如下图案:菱形
打印如下图案:更多资料请点击:我的目录#include<stdio.h>int main(){ int i, j, k; for (i = 0; i < 4; i++) //先输出前四行 { for (j = 0; j < 3 - i; j++) //随行数增加而减少每行空格的输出 { printf(" "); } for (...原创 2020-01-09 18:40:27 · 952 阅读 · 0 评论 -
编写一个程序,接受一个整数输入,然后显示所有小于或等于该数的素数。
编写一个程序,接受一个整数输入,然后显示所有小于或等于该数的素数。更多资料请点击:我的目录#include<stdio.h>int main(){ printf("请输入一个整数:"); int num, remainder,min_x=10; //min_x只要取大于0的数都是可以的 scanf("%d",&num); for(int i = 2; i...原创 2020-01-08 19:21:51 · 6471 阅读 · 1 评论 -
编写一个程序,该程序要求输入一个 float 型数并打印概述的立方值。使用你自己设计的函数来计算该值 的立方并且将它的立方打印出来。main 函数负责把输入的值传递给该函数。
编写一个程序,该程序要求输入一个 float 型数并打印概述的立方值。使用你自己设计的函数来计算该值 的立方并且将它的立方打印出来。main 函数负责把输入的值传递给该函数。更多资料请点击:我的目录#include<stdio.h>float cube(float num) //计算立方的函数,此处亦可写成for循环格式{ float num_cube; num_cu...原创 2020-01-08 15:06:44 · 2122 阅读 · 0 评论 -
编写一个程序,此程序要求输入一个整数,然后打印出从输入的值(含)到比输入的值大10(含)的所有整数 值(比如输入 5,则输出 5 到15)。要求在各个输出值之间用空格、制表符或者换行符分开
编写一个程序,此程序要求输入一个整数,然后打印出从输入的值(含)到比输入的值大10(含)的所有整数 值(比如输入 5,则输出 5 到15)。要求在各个输出值之间用空格、制表符或者换行符分开。更多资料请点击:我的目录#include<stdio.h>int main(){ printf("请输入一个整数:"); long long num; //long long ...原创 2020-01-08 14:59:44 · 4021 阅读 · 0 评论 -
编写一个程序,用户输入某个大写字母,产生一个金字塔图案。
编写一个程序,用户输入某个大写字母,产生一个金字塔图案。例如用户输入字母E,则产生如下图案:更多资料请点击:我的目录#include<stdio.h>int main(){ char u_letter; //定义一个字符型变量 printf("请输入一个大写字母:"); scanf("%c",&u_letter); //输入一个字符 p...原创 2020-01-08 14:09:51 · 6393 阅读 · 0 评论