【 在 ancova (...) 的大作中提到: 】
: 标 题: [求助]小学生C++编程问题
: 发信站: 水木社区 (Fri Apr 3 10:35:56 2020), 站内
:
: #include<iostream>
: using namespace std;
: const int MAX=5;
: int count(int b[],int n)
: {
: int x;
: for(int i=1;i<=n;i++)
: {
: do
: {
: cout<<i<<"=";
: cin>>x;
: }while(x<0||x>MAX);
: b[x]++;
: }
: }
: int main()
: {
: int a[MAX+1],i,n,*p;
: cout<<"请输入实到人数:";
: cin>>n;
: for(p=a;p<=(a+MAX);p++)
: *p=0; //这里是初始化所有a[]的值为0么?为什么要这么做?
是。可以写成 int a[MAX+1] = { 0 };
或者 memset(a, 0, sizeof(a));
只有在被设置的元素的所有的字节都一样的时候可以用 memset。
例如如果想设置每个int元素是 100。那就只能用循环了。
: p=a;
: count(p,n); //这里p不是指针么?怎么能用前面定义的函数?
函数里的参数,int x[] 实际上就是 int*;
数组 id 相当于指向 [0] 位置的指针。
: for(i=0;i<=MAX;i++)
: {
: switch(i)
: {
: case 0:cout<<"弃权:"<<a[i]<<endl;break;
: default:cout<<i<<"号票数:"<<a[i]<<endl;break;
: }
: }
: return 0;
: }
: --
:
: ※ 来源:·水木社区
http://www.newsmth.net·[FROM: 124.205.77.*]
--
FROM 139.226.109.*