- 博客(20)
- 收藏
- 关注
原创 C语言双链表
C语言双链表 #include<stdio.h> #include <stdlib.h> typedef struct node { int data; struct node *prev; struct node *next; }st,*pt; pt node_init(void); //初始化节点 void add_head(pt head,int data); //头插 void add_tail(pt head,int data); //尾插 void de
2021-05-12 10:57:55
185
原创 C语言单链表
C语言单链表 单向链表 #include<stdio.h> #include<stdlib.h> typedef struct node { int data; struct node *next; }st,*pt; pt node_init(void); //初始化节点 void add_head(pt head,int data); //头插 void add_tail(pt head,int data); //尾插 void del_node(pt head
2021-05-11 13:20:12
272
原创 C语言字符串的替换
C语言字符串的替换 我的思路: 遍历字符串,判断是否与修改的字符一至 #include<stdio.h> int main() { int i=0; char ch; char replace; char buf[100] ={0}; printf("请输入一个字符串:\n"); scanf("%s",buf);while(getchar()!='\n'); printf("请输入要替换的字符:\n"); scanf("%c"
2021-05-11 10:53:21
20524
3
原创 C语言判断回文字符串
C语言判断回文字符串 我的思路: 回文:首尾回环 首和尾对比,两者向中间靠近,完全相同则回文,有一处不相同则不是回文 #include<stdio.h> void str_back(char *str); int main() { char str[100] = {0}; printf("请输入一个字符串:\n"); scanf("%s",str); str_back(str); return 0; } void str_back(char *
2021-05-10 09:46:19
10313
1
原创 C语言实现字符串的翻转
C语言实现字符串的翻转 我的思路: 定义一个新数组,从0开始放入数据 原数组从末尾开始,逐渐递减 #include<stdio.h> void turn(char *str); int main() { char str[100]={0}; printf("请输入一个字符串\n"); scanf("%s",str); turn(str); return 0; } void turn(char *str) { int i=0, j, tmp
2021-05-10 09:30:07
1308
原创 编写一个 字符串赋值函数 my_strcpy()
编写一个 字符串赋值函数 my_strcpy() 我的思路: 字符串逐个赋值,注意字符串的长度 #include<stdio.h> void my_strcpy(char *str1,char *str2); int main() { char str1[100]={0}; char str2[100]={0}; printf("请输入第一个字符串:\n"); scanf("%s",str1); printf("请输入第二个字符串:\n");
2021-05-10 08:38:45
903
原创 C语言编写一个计算字符串长度的函数 my_strlen();
C语言编写一个计算字符串长度的函数 my_strlen(); 我的思路: 定义一个变量,从0计算,直到字符串遇到’\0’时结束。 #include<stdio.h> void my_strlen(char *str); int main() { char str[100]={0}; printf("请输入一个字符串:\n"); scanf("%s",str); my_strlen(str); return 0; } void my_strle
2021-05-10 08:27:43
3549
原创 string字符串删除
string字符串删除 #include<stdio.h> void str_del(char *str,char ch); //声明 int main() { char str[] = "abcdefg"; //也可以由用户输入,scanf不能输入空格字符串! 需要使用fgets() str_del(str,'a'); printf("%s\n",str); return 0; } void str_del(char *str,char ch)..
2021-05-09 17:20:10
1913
原创 有一分数序列:2 / 1,3 / 2,5 / 3,8 / 5,13 / 8,21 / 13 ...求出这个数列的前20项之和。
有一分数序列:2 / 1,3 / 2,5 / 3,8 / 5,13 / 8,21 / 13 …求出这个数列的前20项之和。 我的思路: 分子为上一轮分子+分母 分母为上一轮分子 将它们赋值即可,无论哪方先赋值,都需要一个中间变量暂存,否则赋的值不是上轮。 #include<stdio.h> int main() { //总数 分子 分母 中间变量 double sum=0, fenzi=2, fenmu=1, tmp; int i; for(i=0
2021-05-09 16:56:10
2359
原创 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。到第10天早上时,只剩下一个,求第一天有多少桃子。
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。到第10天早上时,只剩下一个,求第一天有多少桃子。 我的思路: 用逆向思维推测第一天,由题可知第10天时桃子数量为1,根据规律,第9天使桃子数量为4;第8天桃子数量为10;第7天为22… 可以得到公式:当天桃子数=(前一天桃子数+1)* 2 #include<stdio.h> int main() { //sum为桃子总数 x为当天桃子数 int sum=0,
2021-05-09 16:32:47
10709
原创 求S = A + AA + AAA + AAAA + AA ...一个的值,其中一个是一个数字。例如2 + 22 + 222 + 2222 + 22222
求S = A + AA + AAA + AAAA + AA …一个的值,其中一个是一个数字。例如2 + 22 + 222 + 2222 + 22222 我的思路: 2*10n次方+2 (2*10^0+2) + (2*10^1+2) + (2*10^2+2)... #include<stdio.h> int main() { int num, n, sum=0, now=0; printf("请输入[1~9]:"); scanf("%d",&num);
2021-05-09 13:51:34
515
原创 C语言最大公约数和最小公倍数
C语言最大公约数和最小公倍数 我的思路: 公倍数:求出最大值,看是否能取余最小值,失败则不断翻倍,直到取余成功。 公约数:定一个数由2开始自增,两者同时取余,成功则返回最小公约数。 #include<stdio.h> int main() { int a, b, max, min, x, y=2; printf("请输入两个整数:"); scanf("%d %d",&a,&b); (a > b)?(max=a,min=b):(max=
2021-05-09 10:55:21
284
原创 将一个正整数分解质量数例如:输入90,打印出90 = 2 * 3 * 3 * 5。
将一个正整数分解质量数例如:输入90,打印出90 = 2 * 3 * 3 * 5。 整数分解 #include<stdio.h> int main() { int n, num; printf("pls input num:"); scanf("%d",&num); fprintf(stderr,"%d=1*",num); //标准出错输出 for(n = 2; n <= num; n++) { while(n
2021-05-09 10:28:57
196
原创 C语言100以内的素数
100以内的素数 素数:除1与自身外,不能余其它整数 #include<stdio.h> int main() { int n, i; for(n=2;n<100;n++) //1不是素数 { for(i=2;i<n;i++) //判断一个数,从2开始取余,一直到本身或者本身的一半 { if(n % i == 0) //取余成功则退出
2021-05-09 09:41:12
7743
3
原创 古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可) 先将前几个月的兔子数量算出来,查看规律 前几个月的兔子对数为:1 1 2 3 5 8 13。。。 规律:前两项相加等于第三项 细节: 1.前两个月的处理 2.总数为最终结果*2(一对兔子有两只) #include<stdio.h> int main() { //sum为兔子对数 small为小
2021-05-09 09:17:04
2015
原创 C语言编写乘法口诀
乘法口诀 #include<stdio.h> int main() { int x,y; for(x=1;x<10;x++)//一一得一开始 { for(y=1;y<=x;y++)//y<=x呈三角形打印 { printf("%d*%d=%d\t",y,x,x*y);// \t是对齐 } printf("\n"); } return 0; } `
2021-05-08 18:23:34
3771
原创 C语言*打印金字塔
*打印金字塔 使用*字符打印金字塔界面 #include<stdio.h> int main() { int num,i,j; printf("请输入金字塔层数\n"); scanf("%d",&num); for(i=0;i<num;i++) //多少层 { for(j=1;j<=2*num-1;j++) //每层多少个位置 { if(j < num-i || j
2021-05-08 18:11:51
7594
4
原创 输入三个数,求最大值
输入三个数,求最大值 用if判断 用三目运算符判断 if判断 #include<stdio.h> int main() { int a,b,c,max; printf("pls input three num:1,1,1\n"); scanf("%d,%d,%d",&a,&b,&c); if(a > b && a > c) max = a; if(b > a
2021-05-08 17:41:51
480
原创 输入某年某月某日,判断这一天是这一年的第几天?
输入某年某月某日,判断这一天是这一年的第几天? 输入日期,获取年月日 根据年判断是否闰年 根据月判断加的天数 根据天直接累加 #include<stdio.h> int main() { int year,moon,day,flag; //年月日 和 闰年判断标志位 printf("pls input year:"); scanf("%d",&year); printf("pls input moon:"); scanf("%d",&am.
2021-05-08 17:22:35
156
原创 C语言编写水仙花数
#include<stdio.h> int main() { int i,a,b,c; for(i=100;i<1000;i++) //比如521 { a = i/100; //521除100=5.21 int型为5 b = i%100/10; //521取余100=21 21/10=2.1 int型为2 c = i%10; //521取余10=1
2021-05-08 16:39:01
10651
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅