程序代码:
/*
在写学c语言后的第一个assignment
目前我已经学的有 if else for和while loop 1d 2d arrays
现在遇到一个问题是 输入5个数字 (1-9之间)
假设输入的是2 2 3 4 2或者 2 8 2 9 2
怎样检测其中有三个2 并且能够储存2
试过用counter计数 一个挨着一个比较 但是要是三个2不挨在一起就没法检测出了
求教啊各位 用我学过的这些知识能解决不?
*/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void main(void)
{
int number_table[9] = { 0 }; // 定义一个9元素的整数数组并初始化为0,用于记忆1-9出现的次数
int data[] = { 2, 8, 2, 9, 2 }; // 需要检测的外部数值
for (int index = 0; index < _countof(data); ++index) // _countof()是stdlib头中的宏,获取数组元素的个数
{
++number_table[data[index] - 1];
}
for (int index = 0; index < _countof(number_table); ++index)
{
if (number_table[index] != 0)
{
printf_s("\"%d\"=%d\n", index + 1, number_table[index]);
}
}
printf_s("\nPress any key...");
_getch();
}
运行的结果画面:
图片附件: 游客没有浏览图片的权限,请
登录 或
注册