功能:编写函数void fun(int n,int a[]),按顺序将一个4位的正整数每一位上的数字存到一维数组,然后在主函数输出。例如输入5918,则输出结果为 5 9 1 8。
时间: 2023-05-31 18:19:22 浏览: 339
应用实践编程题答案new.doc
### 回答1:
这个程序的功能是定义一个void类型的函数fun(int n, int a[]),将一个4位的正整数每一位上的数字存入一个一维数组中,然后在主函数中输出结果。例如,如果输入的数字是5918,则输出的结果应该为5 9 1 8。
### 回答2:
在这个题目中,我们需要编写一个函数来将一个4位的正整数的每一位上的数字存到一个一维数组中,并且按照顺序输出。
首先,我们需要在函数中定义两个参数,一个是整数类型的n用来存储要进行转换的正整数,另一个是整型数组a[],用来存储转换后的结果。在函数内部,我们需要对n进行分解,分别取出其千位、百位、十位和个位上的数字,然后按顺序将这四个数字存入数组a[]中。
具体实现方式是,首先用一个while循环将n除以10,并用取余运算符(%)取出余数,即个位数,将其存入a[0]中。接着将n除以10,将商赋值给n,再次取余并存入a[1]中,以此类推,直到取出最高位上的数字,存入a[3]中。
最后,在主函数中,调用我们编写的函数,将要进行转换的正整数和一个初始化好的长度为4的数组a[]作为参数传入,再依次输出数组a[]的每一个元素即可。
以下是实现代码的例子:
```
#include <stdio.h>
void fun(int n, int a[]) {
int i = 0;
while (n != 0) {
a[i] = n % 10;
i++;
n /= 10;
}
}
int main() {
int n = 5918;
int a[4] = {0};
fun(n, a);
for (int i = 3; i >= 0; i--) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
输出结果即为:5 9 1 8
### 回答3:
本题要求编写一个功能函数,函数名为fun,该函数可以将一个4位的正整数的每一位上的数字存到一个一维数组中,并在主函数中输出这个一维数组中的数字。
首先,我们需要定义这个函数的形式参数。由于要存储4位数的每一位数字,所以需要一个整型数组a[],用来存储这4个数字,同时还需要一个形参n,表示需要进行操作的这个4位整数。
接下来,我们需要将这个4位整数分解成4个数字。我们可以使用 n%10 的方法来获取这个数的最后一个数字,将其保存到a[0]中,之后再将 n/10 的结果赋值给n。如此循环3次,即可得到每一个数字,并将其分别存入数组a[]中。
代码如下:
void fun(int n, int a[]) {
for (int i = 0; i < 4; i++) {
a[i] = n % 10;
n /= 10;
}
}
在主函数中,可以按照顺序输出a[]中的数字即可:
int main() {
int n = 5918;
int a[4];
fun(n, a);
for (int i = 3; i >= 0; i--) {
cout << a[i] << " ";
}
return 0;
}
以上就是本题的完整答案。
阅读全文