2条回答 默认 最新
- qzjhjxj 2022-01-26 11:15关注
供参考:
#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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 怎么改成循环输入删除(语言-c语言)
- ¥15 安卓C读取/dev/fastpipe屏幕像素数据
- ¥15 pyqt5tools安装失败
- ¥15 mmdetection
- ¥15 nginx代理报502的错误
- ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
- ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
- ¥100 描述一下元器件的基本功能,pcba板的基本原理
- ¥15 STM32无法向设备写入固件
- ¥15 使用ESP8266连接阿里云出现问题