C语言实验手册
2024-09-08 11:46:04
在三位整数(100~999)中寻找符合条件的整数,并以此从小到大存到数组当中,它既是完全平方数,又是两位数字相同,例如144,676等。
#include<stdio.h>
#include<math.h>
int isSquare(int n)
{
if (n == (int)sqrt(n) *(int) sqrt(n)) //这里必须是将sqrt进行整形转化,sqrt(float * number),返回number的开平方数,返回值为浮点型
return 1;
else
return 0;
}
int double_num(int n)
{
int a, b, c;
a = n / 100;
b = n % 10;
c = (n / 10) % 10;
if (a == b || b == c || a == c)
return 1;
else
return 0;
}
int main()
{
int arr[900];
int n = 0;
for (int i = 100;i < 1000;i++)
{
if (isSquare(i) && double_num(i))
{
arr[n] = i;
n++;
}
}
for (int i = 0;i < n;i++)
{
printf("%d\n", arr[i]);
}
return 0;
}
也可以通过函数嵌套实现:即满足给条件的整数通过所编制的函数返回
#include<stdio.h>
#include<math.h>
int isSquare(int n)
{
if (n == (int)sqrt(n) *(int) sqrt(n)) //这里必须是将sqrt进行整形转化,sqrt(float * number),返回number的开平方数,返回值为浮点型
return 1;
else
return 0;
}
int double_num(int n)
{
int a, b, c;
a = n / 100; // 百位数
b = n % 10; //个位数
c = (n / 10) % 10; //十位数
if (a == b || b == c || a == c)
return 1;
else
return 0;
}
int Search(int n)
{
if (isSquare(n) && double_num(n))
return n;
else
return 0;
}
int main()
{
int arr[900];
int n = 0;
for (int i = 100;i < 1000;i++)
{
arr[n]=Search(i);
n++;
}
for (int i = 0;i < 900;i++) // 仅仅是输出咱想要的 i到900就行了,多了就是没赋值的数组数据了
{
if(arr[i]!=0)
printf("%d\n", arr[i]);
}
return 0;
}
最新文章
- Linux下如何遍历指定目录下的所有文件并删除指定天数之前创建的文件
- arcgis server之路网服务发布
- Codeforces Round #235 (Div. 2)C、Team
- [小北De编程手记] : Lesson 07 - Selenium For C# 之 窗口处理
- 腾讯的一个移动端测试小工具GT
- 在Spring4中使用通用Mapper
- 锁_rac环境kill锁表会话后出现killed状态(解决)
- uva 108
- 【Java基础】Java类及成员和修饰符的关系
- Nginx+Tomcat+memcached负载均衡实现session共享
- c语言,数组和指针
- CF 439D(251D题)Devu and his Brother
- IOS私人API用法
- C++ 学习之函数重载、基于const的重载
- 【javascript】函数中的this详解 — 大家准备好瓜子,我要讲故事啦~~
- for /r命令实现全盘搜索指定文件
- GIT-windows系统部署git服务器
- Maven自动部署jar包到Neuxs
- eclipse中项目jdk1.8刷新下就变成1.5的解决办法
- Spark MLlib之使用Breeze操作矩阵向量