当前位置: 首页 > news >正文

硕成C语言22【一些算法和数组的概念】

1.求水仙花数

#include <stdio.h>

int main() {

       //求水仙花数:1.三位数 2.个位的立方+十位的立方+百位的立方=该数

       int unit, tens, hundreds;

       for (int i = 100; i < 1000; i++)//i表示该水仙花数

       {

              unit = i / 1 % 10;

              tens = i / 10 % 10;

              hundreds = i / 100 % 10;

              if (unit*unit*unit+tens*tens*tens+hundreds*hundreds*hundreds == i)

              {

                     printf("水仙花数有:%d\n", i);

              }

       }

       return 0;

}



2.判断一个数是几位数
思路:

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main() {

       //求一个数是几位数

       int num,count=0;

       printf("请输入一个数:");

       scanf("%d", &num);//scanf函数每次别忘了取地址值

       while (num > 0) {//直接用while,不用for,因为不知道起始条件、终止条件、和下一次循环执行的依据

              num /= 10;

              count++;//除一次,计数一次,条件是大于0

       }printf("该数是%d 位数\n", count);

       return 0;

} 快夸夸我,不要吝啬,来吧!!!!!!!!!



3. 

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main() {

       //求和

       int sum=0,s=0,a,i,n;//例如:s=0时,a=2时,2=0*10+2 22=2*10+2

       printf("请输入一个数,然后输入个数:");

       scanf("%d%d", &a,&n);//scanf函数每次别忘了取地址值 n是个数 a是对应的数值

       for ( i = 1; i <=n; i++)

       {

              s = s * 10 + a;

              sum += s;

       }printf("求和为:%d", sum);

       return 0;

}

思路二:
#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main() {

       //求和(思路二)

       int sum=0,s=0,a,i,n,t=1;//例如:s=0时,a=2时,2=0*10+2 22=2*10+2

       printf("请输入一个数,然后输入个数:");

       scanf("%d%d", &a,&n);//scanf函数每次别忘了取地址值 n是个数 a是对应的数值

       for ( i = 1; i <=n; i++)

       {

              s = a * t + s;

              t *= 10;

              sum += s;

       }printf("求和为:%d", sum);

       return 0;

}


4.输出前40项斐波那契数列

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main() {

       //输出前40项斐波那契数列

       int a=1, b=1, c;//设a是第一项,b是第二项,c是第三项

       for (int i = 1; i <= 40; i++)//i是项数

       {

              if (i == 1 || i == 2) {

                     c = 1;

              }if (i>2)

              {

                     c = a + b;

                     a = b;

                     b = c;

              }

              printf("%d ", c);

              if (i%5 == 0)

              {

                     printf("\n");//我希望的是,每输出5项数列,就换一行

              }

             

       }

       return 0;

}



6.求和

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main() {

       //求和

       int i, tag = 1,n;//tag用来处理正负号,i表示项数同时表示分母,s表示累加的结果

       double s = 0;

       printf("请输入你想要的项数n:");

       scanf("%d", &n);

       for ( i = 1; i <= n; i++)

       {

              s = s + 1.0/i * tag;

              tag = -tag;

       }printf("前%d项的结果是%lf", n, s);

       return 0;

}



7.




 

相关文章:

  • 【C++】哈希、unordered_map与unordered_set的模拟实现
  • AcWing——3624. 三值字符串
  • windows配置永久路由
  • VMware vSphere数据中心虚拟化——vCenter Server7.0安装部署
  • 【ARM】解决ArmDS Fast Models 中部分内核无法上电的问题
  • 深入理解 Qt 信号与槽机制:原理、用法与优势
  • Spring Boot 携手 DeepSeek:开启智能交互新时代
  • C语言进阶习题【3】(5 枚举)——找单身狗2
  • 3DsMax快捷键
  • 【kafka系列】Kafka事务的实现原理
  • VSCode C/C++ 开发环境完整配置及常见问题(自用)
  • java枚举类型的查找
  • USC 安防平台之移动侦测
  • github上文件过大无法推送问题
  • 智能编程助手功能革新与价值重塑之:GitHub Copilot
  • 今日写题work05
  • Autojs: 使用 SQLite
  • Word中打开开发工具【修改日期控件显示格式】
  • C#学习之S参数读取(s2p文件)
  • 如何预防DDOS攻击
  • 央行:全力推进一揽子金融政策加快落地
  • 债券市场“科技板”来了:哪些机构能尝鲜,重点支持哪些领域
  • 汪海涛评《线索与痕迹》丨就虚而近实
  • 山东滕州一车辆撞向公交站台致多人倒地,肇事者被控制,案件已移交刑警
  • 什么让翻拍“语文”成为短视频新风潮
  • 新闻1+1丨多地政府食堂开放 “舌尖上的服务”,反映出怎样的理念转变?