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

1.求水仙花数

cpp 复制代码
#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.判断一个数是几位数

思路:

cpp 复制代码
#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;

} 快夸夸我,不要吝啬,来吧!!!!!!!!!
cpp 复制代码
#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项斐波那契数列

cpp 复制代码
#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.求和

cpp 复制代码
#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;

}




相关推荐
双叶8366 分钟前
(C语言)单链表(1.0)(单链表教程)(数据结构,指针)
c语言·开发语言·数据结构·算法·游戏
想睡hhh8 分钟前
c++概念——入门基础概念
开发语言·c++
肖永威17 分钟前
python列表常用方法大全
开发语言·python
愚润求学22 分钟前
【C++】vector的模拟实现
开发语言·c++·stl·语法
uhakadotcom29 分钟前
OpenAI 的 PaperBench:AI 研究复现基准测试工具
算法·面试·github
凯强同学35 分钟前
第十四届蓝桥杯大赛软件赛省赛Python 大学 C 组:6.棋盘
python·算法·蓝桥杯
我的大老婆36 分钟前
【Python】Python 环境 + Pycharm 编译器 官网免费下载安装(图文教程,新手安装,Windows 10 系统)
开发语言·windows·经验分享·python·青少年编程·pycharm
m0_5557629041 分钟前
多人协同进行qt应用程序开发应该注意什么?
开发语言·qt
wuqingshun3141591 小时前
蓝桥杯 切割
数据结构·c++·算法·职场和发展·蓝桥杯
艾妮艾妮1 小时前
C语言常见3种排序
java·c语言·开发语言·c++·算法·c#·排序算法