news 2026/10/7 2:44:20

learning blogs3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
learning blogs3

260928

如何用c语言实现随机取数

涉及头文件stdlib.h,调用函数rand(),rand()会直接给你一个随机整数,belike:

intn=rand();

注意rand()给的数非常大,如果要减小的话就求余处理%
但是啊,会发现rand()每次生成的的数一摸一样,因为它是伪随机,他需要一个种子(seed)来生成这个数
但是rand()的参数列表(就是括号里填的内容)无法直接填参数,所以我们用到srand(填seed)(也在stdlib.h里面)
如果种子一样的话每次rand()生成的数还是一样的,所以我们需要每时每刻都不一样的时间(time)来实现seed的不同

time(NULL) 会返回当前时间(从 1970 年到现在过了多少秒),这个数每秒都在变
调用time()涉及头文件time.
rand无法用seed改计算起点。只能用srand
srand()需要的参数类型是unsigned int

完整代码belike:

#include<stdio.h>#include<stdlib.h>#include<time.h>intmain(){srand((unsigned)time(NULL));// 用当前时间当种子intn=rand()%100+1;printf("%d\n",n);return0;}
关于time()函数

其返回类型是整数,所以需要类型强制转换才能给srand 打印它需要用%ld
它参数能填指针,但是我们只需要它直接给我当前时间,所以填空指针NULL

260929

打印*菱形(我感觉我写的相比ds写的也不遑多让好吧哈哈哈)
#include<stdio.h>intmain(){intn=0;printf("Enter n:\n");scanf("%d",&n);for(inta=n;a>0;a--){for(inti=0;i<a-1;i++){printf(" ");}for(intj=0;j<(n+1-a)*2-1;j++){printf("*");}printf("\n");}for(intb=n-1;b>0;b--){for(intk=0;k<n-b;k++){printf(" ");}for(intl=0;l<2*b-1;l++){printf("*");}printf("\n");}return0;}
C 语言的 for 循环中,变量更新(如 i++)是在本次循环体执行完之后、下一次循环条件判断之前完成的!!!

261002

关于水仙花数

输出所有 3 位数中的"水仙花数"(各位数字立方和等于该数本身,如 153 = 1³+5³+3³)。进一步挑战:扩展到 n 位数(n 由用户输入),用循环实现通用的水仙花数判断。
拓展belike:
#include <stdio.h>

//这题一个很深的坑是我没理解水仙花数是n位就是n次方的和longlongncifang(intx,longlongn){longlonga=1;for(x;x>0;x--){a*=n;}returna;}intmain(){intn=0;printf("Enter n digits:\n");scanf("%d",&n);inttotal=0;intt=n;longlonghe=0;for(longlongi=ncifang(n-1,10);i<ncifang(n,10);i++)//三位数初始有100也就是10的2次方就够了。。。{he=0;//把之前累计的和清零,不然会干扰下一次计算验证longlongm=i;t=n;while(t>0){he+=ncifang(n,m/ncifang(t-1,10));m%=ncifang(t-1,10);t--;}if(he==i){printf("%lld ",i);total++;}if(total%5==0&&total!=0){printf("\n");}}return0;}

这题一个很深的坑是我没理解水仙花数是n位就是n次方的和
还有就是涉及了哪些变量是在哪个区域内不能变、哪个区域内能变的问题,比如n的问题,得额外设置一个t来实现n的变化,但是要让n本身不变化
以及涉及了变量在循环内使用结束后是否清零的问题,比如he这个变量,如果不及时清零就会导致后面计算都是在上一个循环得到的he的基础上继续加,就不符合题意了

这些bug总感觉以后还会遇到。。。

261003

参加了Nefixst举办的嗷嗷嗷杯(点赞点赞

四个小时六题做了四题,虽然写的时候我没检查出问题,但是考完还是发现漏了很多条件(
素数和那道题感觉是我做的最好的,第一道比较成绩的又涉及盲点了,晚上看一下玩回来有没有时间补盲点,第五题虽然结果对了但是我给的数据类型是int,装不下那么大的数,可能改成long long就可以了,但是我的算法有点过于朴素耗时了,只拿了20分。。。其实第一题写的也是屎山代码

#include<stdio.h>intmain(){intk1=0;intk2=0;intk3=0;intk4=0;intk5=0;intk6=0;intk1r=0;intk2r=0;intk3r=0;intk4r=0;intk5r=0;intk6r=0;ints1=0;ints2=0;ints3=0;ints4=0;ints5=0;ints6=0;chars[100]="huanxin";inttotal_k=0;inttotal_s=0;intmaxr=0;intmaxs=0;intr=0;scanf("%s",&s);scanf(" %d %d %d",&k1,&s1,&k1r);scanf(" %d %d %d",&k2,&s2,&k2r);scanf(" %d %d %d",&k3,&s3,&k3r);scanf(" %d %d %d",&k4,&s4,&k4r);scanf(" %d %d %d",&k5,&s5,&k5r);scanf(" %d %d %d",&k6,&s6,&k6r);total_k=k1+k2+k3+k4+k5+k6;total_s=s1+s2+s3+s4+s5+s6;if(total_k>=total_s){printf("BJBL\n");}else{printf("Kiang Ah! %s!\n",s);if(k1r<=k2r){r=k1r;maxr=k1;maxs=s1;}else{r=k2r;maxr=k2;maxs=s2;}if(k3r<r){r=k3r;maxr=k3;maxs=s3;}if(k4r<r){r=k4r;maxr=k4;maxs=s4;}if(k5r<r){r=k5r;maxr=k5;maxs=s5;}if(k6r<r){r=k6r;maxr=k6;maxs=s6;}if(maxr>=maxs){printf("BJBL\n");}else{printf("Kiang Ah! %s!\n",s);}}return0;}

真就纯屎山好吗

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/7 2:44:11

MLX90640热成像传感器实战指南:32×24红外阵列开发全解析

1. 这不是普通温度计&#xff0c;而是一台能“看见热量”的微型热成像仪你手头拿到的这块MLX90640ESF-BAA/BAB&#xff0c;表面看只是一块带引脚的黑色小芯片&#xff0c;但它的实际能力远超想象——它能在完全无光、不接触人体的前提下&#xff0c;实时生成一幅分辨率为3224 像…

作者头像 李华
网站建设 2026/10/7 2:43:48

智能 Logo 设计工具怎么选?鲲穹智能 Logo 功能实测与横向对比

品牌初创、店铺命名、项目视觉识别时&#xff0c;Logo 是最基础的资产之一。传统 Logo 设计往往需要沟通需求、等待初稿、反复修改&#xff0c;周期较长&#xff1b;AI 智能 Logo 工具则通过关键词生成、模板匹配、图标组合等方式&#xff0c;帮助用户快速获得多个方向。本文客…

作者头像 李华
网站建设 2026/10/7 2:43:48

PE一次性手套视觉检测设备-山东英创智能

在一次性手套的生产线上&#xff0c;最让人头疼的往往不是产能不够&#xff0c;而是那些藏在透明包装里、粘在褶皱深处的微小瑕疵。无论是PE还是 PVC或者丁腈乳胶手套&#xff0c;只要有一点点油污、针孔或者半脱模残留&#xff0c;流到客户手中就是严重的品质事故。传统的人工…

作者头像 李华
网站建设 2026/10/7 2:41:55

为什么越来越多企业选择中望CAD?好用背后的硬核实力

近年来&#xff0c;国产CAD软件正在成为越来越多设计师和企业关注的焦点。国际权威研究机构IDC发布的《中国设计研发类工业软件之CAD市场份额&#xff0c;2025——大盘稳固&#xff0c;智变新生》报告显示&#xff0c;中望软件已连续四年蝉联中国设计研发类工业软件CAD市场国产…

作者头像 李华