1条回答 默认 最新
- qzjhjxj 2022-01-26 11:01关注
供参考:
#include <stdio.h> #define N 1000 int fun(int n) { int flg = n, k = 0; while (flg) //求出位数 { k++; flg /= 10; } if (k == 3) flg++; //位数为3位数 if (n % 10 + n / 10 % 10 == 5) flg++; //个位+十位刚好等于5 if (n % 3 == 0) flg++; //能够被3整除 return flg; } int main() { int n, tmp, a[N] = {0}, i = 0; scanf("%d", &n); while (n--) { scanf("%d", &tmp); if (fun(tmp) >= 2) a[i++] = tmp;//至少两个条件的数 } if (i == 0) printf("no"); else { for (n = 0, tmp = 0; n < i; n++) { printf(n == 0 ? "%d" : " %d", a[n]); tmp += a[n]; } printf("\n%d %d", i, tmp); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 TLS1.2协议通信解密
- ¥40 图书信息管理系统程序编写
- ¥20 Qcustomplot缩小曲线形状问题
- ¥15 企业资源规划ERP沙盘模拟
- ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
- ¥15 前端echarts坐标轴问题
- ¥15 ad5933的I2C
- ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
- ¥15 数学建模求思路及代码
- ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题