① 关于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 个字节。