Yr^ 2021-06-04 21:31 采纳率: 66.7%
浏览 13
已采纳

为什么总在第三位输出一个0,0是从哪来的?

输入:

5
1001   YaolinPan       89
1002   YuhangGao       98.9
1003   JunyuanGao      42.5
1004   HongpengYang    72
1005   YuxuanHan       35

 

输出:

1001 YaolinPan 0
89 1002 0
YuhangGao 98.9 0
1003 JunyuanGao 0
42.5 1004 0
 

代码:

#include <stdio.h>
struct stdent
{
    int id[4];
    char name[10];
    
}stu[10];

int main()
{
    int i, j, temp, N,count=0;
    double average,sum=0;
    double grade[100];
    
    scanf("%d\n", &N);
    for (i = 0; i < N; i++)
    {
        scanf("%s %s %.lf\n", &stu[i].id, &stu[i].name, &grade[i]);
        printf("%s %s %.lf\n", stu[i].id, stu[i].name, grade[i]);
        sum += grade[i];
    }
    average = sum/N;
//     printf("%.2lf %.2lf\n",sum,average);
    
    for (i = 0; i < N; i++)
    {
        if (grade[i] < 60.0)
            count=count+1;
    }
   
//     printf("%d",count);
    
   
}

 

问题:为什么总在第三位输出一个0,0是从哪来的

麻烦大佬给解答一下了,谢谢谢谢
 

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-06-04 21:49
    关注

    student结构体中id直接使用int就可以了,不用int id[4]啊,int id[4]是4个整数数组。而且你在for循环里,scanf和printf的时候,用%s去表示int型,这样也是不对的。代码修改如下,如有帮助,请采纳一下,谢谢

    #include <stdio.h>
    struct stdent
    {
    	int id;  //修改1:it[4]
    	char name[10];
    
    }stu[10];
    
    int main()
    {
    	int i, j, temp, N,count=0;
    	double average,sum=0.0;  //修改2:sum= 0
    	double grade[100];
    
    	scanf("%d\n", &N);
    	for (i = 0; i < N; i++)
    	{
    		scanf("%d %s %lf", &stu[i].id, &stu[i].name, &grade[i]);
    		printf("%d %s %.1f\n", stu[i].id, stu[i].name, grade[i]);
    		sum += grade[i];
    	}
    	average = sum/N;
    	//     printf("%.2lf %.2lf\n",sum,average);
    
    	for (i = 0; i < N; i++)
    	{
    		if (grade[i] < 60.0)
    			count=count+1;
    	}
    
    	//     printf("%d",count);
    
    
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 treelib库有读取树数据方法吗?
  • ¥15 咨询一个PYTHON的问题
  • ¥15 机器学习建模调参,roc评价指标
  • ¥15 RCS plot 包内置数据集使用时报错,如何解决?
  • ¥15 keil+mspm0g3507+二维总线舵机
  • ¥15 如何用wireshark分析找出url接口和param参数
  • ¥15 有谁知道这是阿里云那个应用的域名吗,怎么调用?
  • ¥30 正则表达式的一些问题
  • ¥15 C#如何使用不需要安装 Microsoft Excel 的机器上的方法或者库实现:将指定Excel区域导出为图片(例如A1:AO50)
  • ¥15 虚拟机只能接收不能发送