C语言,程序改错,要求用数组:输出15-100之间能被3整除的数且至少有一位数是5?

不允许增加和删除语句,只允许移动或者修改语句#include<stdio.h>intmain(){inti,j,n,m,k,a[100],b[5];for(i=15;i<... 不允许增加和删除语句,只允许移动或者修改语句
#include<stdio.h>
int main()
{
int i, j, n, m, k, a[100], b[5];
for (i = 15; i <= 100; i++)
if (i % 3 == 0)
{
i = m;
j = 0;
k = 0;
do
{
b[j] = m % 10;
m /= 10;
if (b[j] == 5)
k++;
j++;
} while (m < 0);
if (k > 0)
a[n++] = i;
}
for (i = 0; i < n; i++)
printf("%4d", a[i]);
return 0;
}
展开
 我来答
来自保国寺直率的蜻蜓
2020-12-12 · TA获得超过2171个赞
知道小有建树答主
回答量:95
采纳率:66%
帮助的人:41万
展开全部
i = m;将i赋值给m,应该是m=i
do...while (m < 0)里m应该在大于0的情况下才要除以10来取出十位百位,应该是do...while (m >0)
printf("%4d", a[i]);因为上面两行的是a[n++]=i,所以a[i]数组是从a[1]开始存放数的,应该所以这边输出也要改成a[i+1]
追问
还有一个变量n没有初始化
追答
int i, j, n, m, k, a[100], b[5];变量声明的同时可以初始化,改成int i, j, n=0, m, k, a[100], b[5];
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式