想家了吗~ 2022-11-17 21:34 采纳率: 100%
浏览 20
已结题

如何改正这个程序?(试了几次遇到困难了)

今年计算机学院研究生入学复试分多个小
组。现在需要知道每组复试同学中男
生和女生的人数。编写程序分别统计
出男女生的总人数。
输入
输入的第一行是一个数t(0<t<10),表示
有t组测试用例。
对于每组输入数据有两行,第一行是一个
正整数n(1<n<1000),表示参加该组
复试的总人数。接下来一行有n个整数(取值为0或1),1代表男生,0代表女生,整
数间由一个空格隔开。
输出
对于每组测试用例,输出一行,由两个数
组成,用一个空格隔开,分别表示男生和
女生的总人数
人数统计-…

输出
对于每组测试用例,输出一行,由两个数
组成,用一个空格隔开,分别表示男生和
女生的总人数
样例输入Copy
2
2
1 0
7
0 1 0 0 1 1 0
样例输出 Copy
1 1
3 4

这是我写的……输出不了,如何改正呢?
int main(){
int t,a[100],b[100],i=0,j,k,nan,nv,c[100],d[100],n;
sca***

****


```*nf("%d",&n);
    do{
        scanf("%d",&a[i]);
        for(j=0;j<a[i];j++)
        scanf("%d",b[j]);nan=0;nv=0;
        for(k=0;k<a[i];k++){
        if(b[k]==1) nan++;    
        else nv++;    
        }c[i]=nan;d[i]=nv;
            
    }while(i<n);
        for(i=0;i<n;i++){
printf("%d %d\n",c[i],d[i]);
    
    
}
}
  • 写回答

2条回答 默认 最新

  • 叶落秋白 后端领域优质创作者 2022-11-17 22:29
    关注

    我写一个能满足要求的代码吧,题主可以参考:

    img

    代码如下:

    
    #include<stdio.h>
    
    int main() 
    {
        int t, n;
        scanf("%d", &t); // 作为用例次数
        while (t--) {
            int temp; // 只能是0或者1
            int a0 = 0, a1 = 0; // a0、a1 分别代表女生、男生的人数
            scanf("%d", &n); // 一次用例的总人数
            for (int i = 0; i < n; i++)
            {
                scanf("%d", &temp);
                // 对temp判断,0则女生加一,反之男生加一
                if (temp == 0)
                    a0++;
                else
                    a1++;
            }
            printf("%d %d",a1,a0);
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月25日
  • 已采纳回答 11月17日
  • 创建了问题 11月17日

悬赏问题

  • ¥15 NeRF的代码复现以及人工智能入门
  • ¥15 centos如何做一个可以让ikuai连接的openvpn
  • ¥15 Protege 中的Entities下面的界面删除了如何复原
  • ¥15 scrapy爬虫求帮
  • ¥15 imageEnView绘图问题
  • ¥15 关于#python#的问题:您好可以加您一下联系方式吗,在复现的时候确实有点问题难以解决
  • ¥15 联想电脑重装系统时无法发现硬盘
  • ¥15 MATLAB与UR10e实体机械臂建立通讯
  • ¥15 c++题需要快一点不用opencv
  • ¥15 关于#java#的问题:想要咨询Flowable流程引擎框架的问题