- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个程序,使用函数和数组来计算每个数字(范围从 0 到 9)出现的次数。以下是我得到的指示:
编写一个程序,要求用户输入一个仅包含 0 到 9 之间数字的 NxM 维数组,并计算这 10 个数字中每一位出现在数组中的次数。
这个程序应该:
● 提示用户输入数组的大小(行和列),并读取维度
● 提示用户逐行输入数组并读取每一行并验证用户输入的值是否在 0 到 9 之间。如果输入的值超出此范围,程序应提示用户再次输入该行
● 显示每个数字在数组中出现的总次数
程序的输出应如下所示(如果这有帮助的话):该程序计算 NxM 数组中数字 0 到 9 的出现次数
*输入数组的大小:2 6
*输入第 0 行:0 1 2 3 4 5
*输入第 1 行:0 1 6 72 81 9
值超出范围。
*输入第 1 行:0 1 6 7 8 9
每个数字的总数:
数字 0 出现 2 次
数字 1 出现 2 次
数字 2 出现 1 次
数字 3 出现 1 次
数字 4 出现 1 次
数字 5 出现 1 次
数字 6 出现 1 次
数字 7 出现 1 次
数字 8 出现 1 次
数字 9 出现 1 次
*用户输入
这是我到目前为止的程序:
#include<stdio.h>
#include<stdbool.h>
int read_row(int x, int y, int a[x][y]) /*function read_row reads in each row (including the prompt and retrieving the values). */
{
printf("Enter the size of your array:");
scanf("%d %d", &x, &y);
a[x][y] = 10; // x is the row count while y is the number of digits inputted
while (x < 10 && y < 10)
{
printf("Enter row %d:", x);
x++;
}
return x;
}
bool check_input(int x, int y) /*function check_input verifies that the user has not entered values outside the range 0 through 9. The function returns true if the range is ok and false otherwise. */
{
if (x > 9)
return false;
else
return true;
if (y > 9)
return false;
else
return true;
}
int compute_row_count(int x, int y, int a[x][y], int count) /*function compute_row_count counts the number of time each digit occurs in an individual row. */
{
a[x][y] = 0;
for (x = 0; x < 10; x++)
{
for (y = 0; y < 10; y++)
{
while (y > 0)
{
count = y % 10; // count reads and calculates the number of times a digit occurs in each row
y /= 10;
}
a[y] = y;
}
}
return a[x][y];
}
int print_total_count(int x, int y, int a[x][y], int count) /*function print_total_count prints out the total count for each digit. Note the difference between printing “1 time” and “2 times”. */
{
printf("Total count for each digit:\n");
a[x][y] = 10;
for (y = 0; y < 10; y++)
{
if (count <= 1)
printf("Digit %d occurs %d time\n", y, count);
if(count >= 2 && y < 10)
printf("Digit %d occurs %d times\n", y, count);
}
return (y, count);
}
int main (void) /* I mainly need help on compute_row_total and print_total_count. Once I can figure those two out, I should be able to set this part up correctly, so no need to worry about this part */
{
int x, y, a[x][y], count;
read_row(x, y, a[x][y]);
if (check_input(x,y))
printf("Values are outside of range.");
else
break;
compute_row_count(x, y, a[x][y], count);
print_total_count(x, y, a[x][y], count);
return 0;
}
我将compute_row_count函数留为空,因为我不明白我是否遗漏了任何其他计算或有不准确的计算...一旦我最终确定compute_row_count和print_total_count,我应该能够完成 int main(void)那里。 (所以不用担心在这部分帮助我)。但是,我确实需要计算和 print_total 方面的认真帮助......所以请帮助我。
最佳答案
#include <stdio.h>
#include <stdbool.h>
static inline bool check_input(int n){
return 0 <= n && n <= 9;
}
void read_row(int x, int y, int a[x][y]){
for (int r = 0; r < x; ++r){
printf("Enter row %d: ", r);
for (int c = 0; c < y; ++c){
int value;
if(1 != scanf("%d", &value) || check_input(value) == false){
printf("Values outside of range.\n");
while(getchar() != '\n'); //clear inputs;
--r;
break;
}
a[r][c] = value;
}
}
}
void compute_row_count(int x, int y, int a[x][y], int counts[]){
//memset(counts, 0, sizeof(int)*10);
for (int r = 0; r < x; ++r){
for (int c = 0; c < y; ++c){
++counts[a[r][c]];
}
}
}
void print_total_count(int counts[]){
printf("\nTotal count for each digit:\n");
for (int i = 0; i < 10; ++i){
printf("Digit %d occurs %d time%s\n", i, counts[i], counts[i] > 1 ? "s": "");
}
}
int main (void){
int x, y;
printf("Enter the size of your array: ");
scanf("%d %d", &x, &y);
int a[x][y];
int counts[10] = {0};
read_row(x, y, a);
compute_row_count(x, y, a, counts);
print_total_count(counts);
return 0;
}
关于c - 一个用 C 语言计算 NxM 数组中 0 到 9 的数字个数的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33358116/
这个问题在这里已经有了答案: Prolog - count repetitions in list (3 个答案) 关闭 7 年前。 所以我正在尝试创建一种方法来确定列表中 N 的数量。我已经试验了
使用 sscanf 或任何其他命令从分号后的文件读取的最佳方法是什么,例如,如果我的文件有 5: 4 5 6 7。如何将冒号后的值存储在数组中。此外,分号后面的整数数量可能会有所不同,即在上面给出的示
我正在尝试返回第 n 个数字。如果数字是 3 或 7 的倍数,则从 1 开始,则跳过该数字并获取下一个数字。但是,如果数字是 3 和 7 的倍数,则不会跳过该数字。 public int Multip
如何有效地从末尾获取一定数量的元素? 1 looks like 2 three!! 例如,如何获取最后 2 个 div 的内容? 最佳答案 $(document).ready(function(){
//Generate Food Personality for(i=0; i
我试图在给定的排序数组中找到最大的 K 个数。 例如:输入 -> [ 5, 12, 45, 32, 9, 20, 15]输出 -> K = 3, [45, 32, 20] 到目前为止我编写的代码返回最
两个数字表 a 和 b 被写入并按升序合并在一起,并删除重复项。现在的问题是在这个 super 表中找到比 O(n) 复杂度更好的 nth 数。 Limits 1 #include using nam
给定一个包含 N 个元素的数组 A,我需要找到对 (i,j) 使得 i 不等于 j 并且如果我们为所有对 (i, j) 然后它来到第k个位置。 示例:让 N=4 和数组 A=[1 2 3 4] 如果
给定一组跳过的数字,我需要找到该组中不存在的第 N 个数字。示例: 给定一组 [1, 4, 5] 一些结果: 对于 N = 1 结果 0 对于 N = 2 结果 2(因为 1 被跳过) 对于 N =
几个月前在亚马逊的招聘挑战中遇到了这个问题。 给定两个数字 a 和 b 及其倍数的升序列表,找出第 n 个倍数。 例如,如果 a = 4 , b = 6 和 n = 6 那么答案是 18因为列表是 4
所以我最近一直在研究 Python,我试图找到一种方法来在单个表达式中输出斐波那契数列的第 n 个数。这是我到目前为止编写的代码: (lambda f: f if f 1 # n == 2 -> 1
作业是编写一个 C++ 程序,它接受输入数字 n 并输出序列中的第 n 个数字: 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 ... 这是我到目前为止想出的:
问题很简单(答案很可能):如何找到数组中最小的 2 个数字? for ( i = 1; i 关于c++ - 数组中最小的 2 个数,我们在Stack Overflow上找到一个类似的问题: ht
您可以调用Nokogiri::XML::Node#ancestors.size 来查看节点的嵌套深度。但是有没有办法确定嵌套最深的子节点的嵌套深度呢? 或者,您如何找到从一个节点下降的所有叶节点? 最
这个任务是找到n个数字的fibanocci。任务: 1.找出n个数的斐波那契数。 2.使用变量n,first=0,second=1,next,c。输入格式:使用 printf 语句。使用 scanf
我想添加每 10 个元素的数量。 例如, function myFunction() { for (var i = 1; i "; } } 输出: 1,2,3,4,5,6,7,8,9,
我想编写一个程序来计算斐波那契数列的第 n 个数,这是我使用 printf 和 scanf 完成的。但我希望更改我的程序,以便在命令行中输入序列号,而不是在程序提示时输入。这就是我想出的。它可以编译,
我有一个方案中的对象列表。每个对象都与一个可以在运行时计算的置信度值相关联。我想找到具有最高置信度值的前 50 个此类对象。示例:((WordPair1) (WordPair2)) 等等都是我的对象。
我正在寻找一种给定目标的算法,返回目标位为 0 的第 N 个数字。 例如,对于n={0,1,2,3}和target=1的输入,输出将是(二进制) 000,001,100,101 最佳答案 只写值N-1
我正在尝试创建一个函数来获取 vector 中的 3 个最大数字。例如:数字:1 6 2 5 3 7 4结果:5 6 7 我想我可以对它们进行 DESC 排序,在开始时获取 3 个数字,然后再对它们进
我是一名优秀的程序员,十分优秀!