当前位置:网站首页>C语言初级—常见问题(100~200素数,计算1+11+111+...,从键盘获取一个数并输出有几个位)
C语言初级—常见问题(100~200素数,计算1+11+111+...,从键盘获取一个数并输出有几个位)
2022-08-02 14:03:00 【iccoke】
输出100~200之间的素数
具体代码
#include<stdio.h>
int main()
{
int num = 100;
int i;
while (num <= 200)
{
for (i = 2; i < num; i++)
{
if (num % i == 0)
break;
}
if (i == num)
{
printf("100~200之间的素数有%d\n", num);
}
num++;
}
return 0;
}首先要求100~200之间获取素数,在判断前给出约束条件
函数体利用素数特性,即除去一和它本身不能有别的除数
计算1+11+111+...
在给出具体代码之前,观察加数形式,11,111
得出计算加数的关键代码
即 b = b + (int)a * pow(10, i)
由于pow函数计算后默认为double类型,因此这里用(int)进行强制转换
其次在用pow等其他数学函数时,头文件因加上#include<math.h>
具体代码如下
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int getsum(int n) {
int a=1;
int sn=0;
int b = 0;
for (int i = 0; i < n; i++)
{
b = b + (int)a * pow(10, i);
sn = sn + b;
}
return sn;
}
int main() {
int n;
scanf("%d", &n);
int result = getsum(n);
printf("%d\n", result);
return 0;
}从键盘获取一个整形并输出有几位
基本思想:数字每能被十除一次并得到大于一的数,则可以加位
具体代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main()
{
double num;
int a = 1;
scanf("%lf", &num);
while (10<=num )
{
num = num / 10;
a += 1;
}
printf("这是个%d位数字\n", a);
return 0;
}优化
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main(){
int num;
scanf("%d", &num);
int count = 0;
while (num != 0);
{
num /= 10;
count++;
}在定义输入输出时因尽量做到见名知意
边栏推荐
猜你喜欢

(ROS) (03) CMakeLists. TXT, rounding

第十单元 前后连调

c语言用scanf出错不安全的解决办法

What are the file encryption software?Keep your files safe

Unit 11 Serializers
![[ROS]roscd和cd的区别](/img/a8/a1347568170821e8f186091b93e52a.png)
[ROS]roscd和cd的区别

Visual Studio配置OpenCV之后,提示:#include<opencv2/opencv.hpp>无法打开源文件

STM32 (F407) - stack

verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第十二章)

Unit 10 Continuous Tuning
随机推荐
run yolov5
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第七章)
[ROS] (05) ROS Communication - Node, Nodes & Master
Unit 10 Continuous Tuning
Creating seven NiuYun Flask project complete and let cloud
[ROS](02)创建&编译ROS软件包Package
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第十四章)
chapter6可视化(不想看版)
[ROS] Introduction to common tools in ROS (to be continued)
Flask framework in-depth two
重新学习编程day1 【初始c语言】【c语言编写出计算两个数之和的代码】
MarkDown syntax summary
Programming Specifications - LiteOS
paddleocr window10初体验
云片网案例
MySQL数据库语法格式
第十二单元 关联序列化处理
How to solve mysql service cannot start 1069
MobileNet ShuffleNet & yolov5替换backbone
8576 Basic operations of sequential linear tables