在main函数中定义一个整型数组,存放用户输入的10个整数。利用指针变量指向此整型数组,并统计数组中正数、负数以及零的个数。输出统计的数值。
时间: 2023-05-31 13:21:07 浏览: 614
C语言输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出
5星 · 资源好评率100%
### 回答1:
好的,以下是回复:
可以按照以下步骤实现:
1. 在main函数中定义一个整型数组,存放用户输入的10个整数。
2. 定义三个变量,分别用于统计正数、负数和零的个数,初始值都为。
3. 声明一个指向整型数组的指针变量,指向刚才定义的数组。
4. 遍历数组,判断每个元素的正负性,根据判断结果更新对应的计数变量。
5. 输出统计的数值。
下面是示例代码:
```c
#include <stdio.h>
int main() {
int nums[10]; // 定义整型数组
int positive = , negative = , zero = ; // 定义三个计数变量,初始值都为
int *p = nums; // 声明指向整型数组的指针变量,指向nums数组的首地址
printf("请输入10个整数:\n");
for (int i = ; i < 10; i++) {
scanf("%d", p + i); // 通过指针变量输入数组元素
if (*(p + i) > ) { // 判断正数
positive++;
} else if (*(p + i) < ) { // 判断负数
negative++;
} else { // 判断零
zero++;
}
}
printf("正数个数:%d\n负数个数:%d\n零的个数:%d\n", positive, negative, zero); // 输出统计结果
return ;
}
```
希望能对你有所帮助!
### 回答2:
在main函数中,我们可以定义一个长度为10的整型数组来存放用户输入的10个整数。我们还需要定义三个变量来统计正数、负数和零的个数。然后,定义指针变量指向此整型数组。
代码如下:
```
#include <stdio.h>
int main()
{
int arr[10];
int positive_count = 0, negative_count = 0, zero_count = 0;
int *p = arr;
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", p + i);
if (*(p + i) > 0) {
positive_count++;
} else if (*(p + i) < 0) {
negative_count++;
} else {
zero_count++;
}
}
printf("正数的个数:%d\n", positive_count);
printf("负数的个数:%d\n", negative_count);
printf("零的个数:%d\n", zero_count);
return 0;
}
```
在代码中,我们使用指针变量p访问数组元素,以统计正数、负数和零的个数。在输入数据时,我们使用p+i来访问第i个数组元素。
最后,我们输出统计的数值。运行程序,输入10个整数,程序将给出正数、负数和零的个数。
### 回答3:
在main函数中定义一个整型数组,用来存放用户输入的10个整数。可以通过以下代码实现:
```c++
int num[10];
for(int i=0;i<10;i++){
cin>>num[i];
}
```
接着,可以定义三个变量count1、count2、count3分别用来记录正数、负数、零的个数。利用指针变量指向此整型数组,并统计数组中正数、负数以及零的个数。可以通过以下代码实现:
```c++
int *p=num;
int count1=0, count2=0, count3=0;
for(int i=0;i<10;i++){
if (*p>0){
count1++;
}else if(*p<0){
count2++;
}else{
count3++;
}
p++;
}
```
在统计过程中,用指针p依次遍历整个数组,如果当前指向的元素大于0,则正数计数器count1加1;如果小于0,则负数计数器count2加1;如果等于0,则零计数器count3加1。每次遍历后,指针p应该指向数组下一个元素的地址。
最后,输出统计的数值即可。完整代码如下:
```c++
#include<iostream>
using namespace std;
int main(){
int num[10];
cout<<"请输入10个整数:"<<endl;
for(int i=0;i<10;i++){
cin>>num[i];
}
int *p=num;
int count1=0, count2=0, count3=0;
for(int i=0;i<10;i++){
if (*p>0){
count1++;
}else if(*p<0){
count2++;
}else{
count3++;
}
p++;
}
cout<<"正数个数为:"<<count1<<endl;
cout<<"负数个数为:"<<count2<<endl;
cout<<"零的个数为:"<<count3<<endl;
return 0;
}
```
执行程序,输入如下数据:
```
请输入10个整数:
1 2 3 4 5 -1 -2 -3 -4 0
```
程序输出:
```
正数个数为:5
负数个数为:4
零的个数为:1
```
这说明在这10个数中,有5个正数、4个负数和1个零。
阅读全文