C语言
baymin_dly
这个作者很懒,什么都没留下…
展开
-
判断一字符串是否为回文,是返回1,不是返回0,出错返回-1
#include int fun(char *p){if (p == NULL)return -1;char *pstart = p;char *pend = p;while (*pend){pend++;}pend--;while (pstart {if (*pstart != *pend)return 0;原创 2017-07-31 16:53:28 · 2384 阅读 · 0 评论 -
写一个程序判断当前系统存储模式是大端还是小端
大端模式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端模式:字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。分析:可以用公用体来解决这道问题。程序:#include // 小端返回真(1),大端返回假(0)int isLittleEndian(){union{char ch;int a;原创 2017-07-21 10:05:19 · 1263 阅读 · 0 评论 -
蓝桥杯李白醉酒问题
题目:“李白街上走,提壶去买酒,遇店加一倍,见花喝一斗”,途中,遇见5次店,见了10此花,壶中原有2斗酒,最后刚好喝完酒,要求最后遇见的是花,求可能的情况有多少种?分析:这道题可通过递归函数来实现。#include int count = 0;int libai (int store, int flower, int alco, int pre){if (store原创 2017-07-18 20:30:20 · 628 阅读 · 0 评论 -
字符串和指针的学习
今天学习了字符串和指针,通过下面这道题来巩固今天所学 编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构.分析:先将整个字符串逆序,再通过指针来找到空格,再将每个单词逆序。程序:#include #include int main(){char str原创 2017-07-16 20:39:11 · 253 阅读 · 0 评论 -
Linux环境和Windows环境下一个表达式多项自增或自减运算结果的不同
今天通过测试发现在两种不同环境下表达式y = (++x) + (x++) + (++x)运算结果不同,例如:#includeint main(){int x = 8;int y;y = (++x) + (x++) + (++x);printf ("%d\n",y);}以上程序在Linux环境下输出结果为28,而在Windows环境下输出为30.原创 2017-07-12 19:37:54 · 389 阅读 · 0 评论 -
我的第一个C语言程序
在大一时虽然已经接触过C语言,并通过了二级C,但是并没有精通,这两天初学Linux C,想重学C,巩固并提高自己,下面是我自己做的第一道练习题:1. 题目:通过编程实现,统计1~n有多少个9提示:n通过参数传入#include int fun(int);int main(){int n,c;printf("请输入一个数: ");scanf("%d",原创 2017-07-11 08:53:22 · 615 阅读 · 0 评论 -
用递归函数实现十进制转换为十六进制输出
递归函数的定义,不应出现无终止的递归调用。而应定义为有限次数、有终止的递归调用函数。 对于一个问题,只要能够知道递归定义式,及边界条件(即递归终止的条件),就可以编写一个递归函数。#include #define BASE 16void tran (int n){if (n == 0)return;tran (n / BASE);if (n原创 2017-07-18 20:23:28 · 13351 阅读 · 4 评论 -
写一个函数,从一个字符串查找另一个字符串的位置
#include int find_where(char *str1, char *str2){ int count = 0; while(*str1) { if(*str1 == *str2) { char *str1tmp = str1; char *str2tmp = str2; while(*str2tmp) { if(*str2tmp !原创 2017-09-16 19:09:20 · 1193 阅读 · 0 评论