题目是:编程计算一下,从1~100之间,0~9十个数字各出现了几次。 我想问问这个代码错在哪了呀 #include int main() { int count=0,n; for(int i=0;i<=100;i++) { for(n=1,count<100;n<=9;n++) {if(0==i%n||n==i/10) count++; printf("0到100之间%d出现的次数为%d\n",n,count); } if(0==i%10) count++; printf("0到100之间0出现的次数为%d\n",count); } return 0; }
#include<stdio.h>
int main() {
int a[10]={0};
for(int i=1;i<=100;i++) {
int n=i;
do {
a[n%10]++;
} while ((n/=10)!=0);
}
for(int i=0;i<10;i++)
printf("1到100之间%d出现的次数为%d\n",i,a[i]);
return 0;
}
①缺少<iostream>
②for循环前面用了中文分号
③内层循环应该在外边,外层循环应该在里面
。。。。
代码已更改
#include <iostream>
int main()
{
int count = 0, n;
for (n = 0; n <= 9; n++)
{
for (int i = 1; i < 100; i++)
{
if (i >= 10 && i / 10 == n) {
++count;
}
if( i % 10 == n) {
++count;
}
}
//100的特殊情况
if (n == 0) {
count += 2;
}
if (n == 1) {
++count;
}
printf("0到100之间%d出现的次数为%d\n", n, count);
count = 0;
}
return 0;
}
建议使用一个数组存放每个数字出现的次数,然后用取余的方法计算,用一个switch case结构
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632