当前位置:首页 » 编程语言 » c语言统计二维数组
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言统计二维数组

发布时间: 2022-10-10 19:11:27

① 关于c语言的两个题目 有关统计字符 和二维数组的

第一题:
#include <stdio.h>
void main()
{
int a[3][4], i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
scanf("%d", &a[i][j]);
}
}
int max = a[0][0];
int row = 0;
int col = 0;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
if (max < a[i][j])
{
max = a[i][j];
row = i;
col = j;
}
}
}
printf("最大值:%d 行:%d 列:%d\n", max, row + 1, col + 1);
}

第二题:(用ctrl Z结束输入)
#include <stdio.h>
#include <string.h>
void main()
{
char c;
int cletter=0;
int sletter = 0;
int number=0;
int space=0;
int other=0;
while((c=getchar())!=EOF)
{
if(c>='a'&&c<='z')
sletter++;
else if (c>='A'&&c<='Z')
cletter++;
else if(c>='0'&&c<='9')
number++;
else if(c==' ')
space++;
else
other++;
}
printf("大写字母数:%d\n",cletter);
printf("小写字母数:%d\n",sletter);
printf("数字数:%d\n",number);
printf("空格数:%d\n",space);
printf("其他字符数:%d\n",other);
}

② C语言中,求二维数组的每一行的和与平均值

#include<stdio.h>
#include<string.h>

intmain()
{
inti=0,j=0,total=0;
floatavr=0;
inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};
for(i=0;i<3;i++)
{
total=0;
for(j=0;j<3;j++)
{
total+=a[i][j];
}
avr=(float)(total/3.0);
printf("sum[%d]aver[%.2f] ",total,avr);
}

return0;
}

sum[6]aver[2.00]
sum[15]aver[5.00]
sum[24]aver[8.00]
Pressanykeytocontinue

③ C语言 二维数组

/***用二维数组保存学生成绩****/
#include"stdio.h"
#define M 100
main()
{ int i,a[M][2],n,c=0,m=0,max,min;
printf("请输入学生记录数:");
scanf("%d",&n);
/*********输入每个学生的成绩保存在数组中*********/
for(i=0;i<n;i++)
{printf("请输入第%d学生的记录\n",i+1);
printf("请输入语文成绩:");
scanf("%d",&a[i][0]);
printf("请输入数学成绩:");
scanf("%d",&a[i][1]);
printf("\n"); }
/********各课总成绩********************/
for(i=0;i<n;i++)
{c+=a[i][0];
m+=a[i][1];
}
printf("语文总成绩:%d\n",c);
printf("数学总成绩:%d\n",m);
printf("语文平均成绩:%f\n",(float)(c)/n);
printf("数学平均成绩:%f\n\n",(float)(m)/n);
/**********输出成绩单*********/
for(i=0;i<n;i++)
{printf("第%d个学生:语文成绩%d 数学成绩%d\n",i+1,a[i][0],a[i][1]);
}
getch();
}

④ c语言中 用函数计算二维数组每行之和以及每列之和 怎么编程

你看的用吧···
#include <stdio.h>
int main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int i,j,s1,s2;
printf("请输入行和列:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
s1=a[i][j]+s;
}
printf("每一列的和分别是:%d\n",s1);
}
printf("\n");
for(j=0;j<3;j++)
{
for(i=0;i<3;i++)
{
s2=a[j][i]+s2;
}
printf("每一行的和分别是:%d\n",s2);
}
}

⑤ 用C语言进行二维数组计数

#include<stdio.h>

void count(int x[100],int a[1000][10]){
int iA,iB;
for(iA=0; iA<100; iA++){
x[iA] = 0;
}//初始化
for(iA=0; iA<1000; iA++){
for(iB=0; iB<10; iB++){
if(a[iA][iB] >= 1 && a[iA][iB] <= 100){
x[a[iA][iB]-1] += 1;//x[?] 记录 ?+1 出现的次数
}
}
}//遍历数组
}

⑥ c语言求二维数组中所有元素的和

#include<stdio.h>

int main(void)

{

int ar[3][3]= { {1,2,3},

{4,5,6},

{7,8,9}

};

int num;

int i,j;

int k = 0,sum=0;

int (*ptr)[3];

ptr = ar;

num = sizeof(ar) / sizeof(ar[0]);

printf("num = %d ",num);

printf("%d ",*(*(ptr +0) + 1));

for(i = 0; i < 3 ;i++)

{

for(j = 0 ;j < 3; j++)

{

k += *(*(ptr + i)+j);

//sum += k;

}

}

printf("%d ",k);

return 0;

}

(6)c语言统计二维数组扩展阅读:

main()函数用法:

大多数UNIX系统对main函数提供了三个参数,原型如下:

intmain(intargc,char*argv[],char*env[]);

其中第三个参数是环境表地址。

ANSIC规定main函数只有两个参数,而且第三个参数与全局变量environ相比也没有带来更多益处,所以POSIX.1也规定应使用environ而不使用第三个参数。

通常用getenv和putenv函数来存取特定的环境变量,而不是用environ变量。

main函数的原型多是下面这种形式:

intmain(intargc,char*argv[]),参数argc代表了输入参数的个数,char*argv[]表示传入的参数的字符串,是一个字符串数组。

例如在linux平台下编写一个小程序:

int main(intargc,char*argv[])

int i;

printf("argc:%d\n",argc);

for(i=0;i<argc;i++)

printf("argv[%d]:%s\n",i,argv[i]);

exit(0);

用gcc编译后形成一个a.out的可执行的文件,运行a.out,其结果是:

argc=1,argv[0]=”a.out”

运行的程序的文件名,也占用一个参数位置,也就是说argv数组中的第一个单元指向的字符串总是可执行程序的名字,以后的单元指向的字符串依次是程序调用时的参数。这个赋值过程是操作系统完成的,只需要拿来用就可以了。

在命令行参数的提交中,系统会自动给指针数组后加上一个NULL,所以for(i=0;i<argc;i++)这句也可以换成while(*argv!=NULL)

int main(intargc)省略其它参数的定义也是可以的,这样运行时候argc就直接返回参数个数,而不返回其它。

运行命令行参数带有char*argv[]的时候,如果输入参数带有空格,应该用双引号括起来。

⑦ C语言统计二维字符数组里的字母个数怎么做

#include<stdio.h>
intfun(charar[4][6],charc)
{
intcount=0,i,j;
for(i=0;i<4;++i)
for(j=0;j<6;++j)
if(ar[i][j]==c)
++count;
returncount;
}
intmain()
{
charc,a[4][6];
inti;
printf("输入4行字符串到数组中: ");
for(i=0;i<4;i++)
gets(a[i]);
printf("输入要统计的字符: ");
scanf("%c",&c);
printf("字符数:%d ",fun(a,c));
return0;
}

⑧ c语言中如何获取一个二维数组的行列数

有两种方式:
1 二维数组的行列数在定义的时候就是确定好的,所以编程人员是知道二维数组的大小以及行列数的。 所以可以直接使用行列数的值。
为方便维护,可以将行列数定义为宏,直接调用对应的宏名作为行列值。

2 动态获取。
对于type array[A][B];形式的二维数组,可以通过计算sizeof获取行列数。
sizeof(array[0][0])为一个元素占用的空间,
sizeof(array[0])为一行元素占用的空间,
sizeof(array)为整个数组占用的空间,
于是:
行数 = sizeof(array)/sizeof(array[0]);
列数 = sizeof(array[0])/sizeof(array[0][0]);

⑨ 求C语言编程:调用函数计算二维数组所有元素的平均值

两个for循环

记录二维数组的总值

count+=array[i][j]

key记录数组元素个数

key++;

最后

return

count/key

或:

double avg(int x[10][10])

{

int i,j,sum;

for(i=0;i<10;i++)

{

for(j=0;i<10;j++)

sum+=x[i][j];

}

return sum/((i+1)*(j+1));

}

(9)c语言统计二维数组扩展阅读:

函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如: printf("%d",max(x,y)); 即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。

⑩ C语言作业 请编写,统计3行4列二维数组中有多少个正数,多少个负数,多少个零,并返回

具体代码如下:

void main()

{

int a[3][4]; //数组要先赋值才能进行比较

int i,j;

int count_a; //统计正数的个数

int count_b; //统计负数的个数

int count_c //统计零的个数

for(i=0;i<4;i++)

for(j=0;j<5;j++)

(
if(a[i][j]>0)
count_a++;
else if(a[i][j]<0)
count_b++;
else
count_c++;
}

printf("正数的个数是:%d/n",count_a);

printf("负数的个数是:%d/n",count_b);

printf("零的个数是:%d/n",count_c);
}

(10)c语言统计二维数组扩展阅读:

二维数组在概念上是二维的,但在内存中是连续存放的;换句话说,二维数组的各个元素是相互挨着的,彼此之间没有缝隙。线性内存中存放二维数组有两种方式:

1、一种是按行排列, 即放完一行之后再放入第二行;

2、另一种是按列排列, 即放完一列之后再放入第二列。

在C语言中,二维数组是按行排列的。也就是先存放 a[0] 行,再存放 a[1] 行,最后存放 a[2] 行;每行中的 4 个元素也是依次存放。数组 a 为 int 类型,每个元素占用 4 个字节,整个数组共占用 4×(3×4)=48 个字节。