代码
#include<stdio.h>
int main(){
int a[100][100],i,j=0,N=0,res=0,x=0;
char c;
scanf("%d",&N);
for(i=0;i<N;i++){
do{
scanf("%d",&a[i][j]);
j++;
}while(c=getchar()==' ');
j=0;
}
for(i=0;i<N;i++){
for(j=0;j<N;j++){
if(a[i][j]==1) x=1;
}
if(x==1){
res++;
x=0;
}
}
printf("%d",res);
return 0;
}
友情提示
1、while循环与i/j共用时,注意i/j是否自增。
2、这破题的输入格式样例有时候真的让你分不清它到底闹哪样。
3、x作为标记,告诉程序某行是否已有1。
题目描述
在 M
国有着很多的城市群,我们可以用二维数组中的 1
去表示高层建筑,矩阵的每一行代表一个区域,在下列示例中我们统计出每行矩阵是否有高层建筑,矩阵中有高层建筑的区域总和为 3
,分别是第 1
,3
,4
行。
"1" "0" "0" "0"
"0" "0" "0" "0"
"1" "1" "0" "0"
"1" "1" "1" "0"
创建一个函数,输入一个(0
和 1
的二维列表)并返回矩阵中有高层建筑的区域总和。
输入输出格式
输入格式 数字 N
表示的是 矩阵的行; 输入 N
行字符串,表示为二位矩阵的每一行,每个字符用一个空格隔开。
输出格式 输出的整数表示在下列矩阵中有高层建筑的区域总和。
输入输出样例1
输入
4
"1" "0" "0" "0"
"0" "0" "0" "0"
"1" "1" "0" "0"
"1" "1" "1" "0"
输出
3
解释(可选) 请编写算法统计出矩阵中有高层建筑的区域总和。
输入输出样例2
输入
5
1 1 0 1 0
1 1 0 1 0
1 1 0 1 0
1 1 0 1 0
1 1 0 1 0
输出
5
输入
5
0 0 0 0 0
1 1 0 0 1
1 1 1 1 1
1 1 0 1 1
1 1 0 1 0
输出
4
说明提示
挑战者需要发掘每个矩阵的高层建筑情况。