输入一个3行4列二维组,输出各行元素integer 最大值值及其所在列号

汇聚1000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
QQ:7714294
LOFTER精选
网易考拉推荐
&2.一维数组的初始化&&& C语言允许在定义数组的同时,对数组各元素指定初值,这个过程叫作初始化。初始化是编译阶段完成。 注意:用赋值语句或输入语句也可给数组元素指定初值,是在运行时完成的。对数组初始化的几种方法:①在定义数组时,对全部数组元素赋初值。&& 例:int& a[5]={0,1,2,3,4}; ②对全部数组元素赋初值时,可省略数组长度,系统会& 根据初值个数自动确定。&&& 例:int& a[ ]={1, 2,3,4} ;&&&&&&& 等价于 int& a[4]={1,2,3,4};③在定义数组时,可以只对部分数组元素赋予初值。& 例:& int& a[5]={1,2}; &&&&&& 等价 a[0]=1;a[1]=2; 其它系统自动全赋0若不对auto数组进行初始化,则其初值是不可知的。若一个static数组未进行初始化,则对整型数组元素,系统自动为其赋初值0,对字符型数组元素,初值赋为空字符‘\0’.二维数组&若一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成了二维数组。一维数组有一个下标,二维数组有两个下标。二维数组的定义存储类别 类型标识符 数组名[行常量表达式][列常量表达式];例:float& x[3][2]; && 定义了一个3×2的数组x,即数组为3行2列,可存放6个实型数据。二维数组元素的引用1.二维数组元素的引用形式: 数组名[下标1][下标2]&&&&&& 下标1称第一维下标(或称行标),下标2称第二维下标(或称列标)。&&&&&&& 下标从0开始变化,其值的范围分别为(0~行长度-1)与& (0~列长度-1)。例如:若有定义 int a[3][4];则数组a是一个3行4列的二维数组,它有12个数据元素,他们分别是:a[0][0]& a[0][1]& a[0][2]& a[0][3]a[1][0]& a[1][1]& a[1][2]& a[1][3]a[2][0]& a[2][1]& a[2][2]& a[2][3]二维数组的每一个元素都可以作一个独立的变量来使用。如: int a[3][2]; &&&&&&&&& scanf("%d",&a[0][0]); &&&&&&&&&& a[1][0]+=3*a[0][0]; &&&&&&&&&& printf(“%d”,a[1][0]);&★可以把二维数组看作是一种特殊的一维数组:它的元素又是一个一维数组。& 例如,对a[3][2],可以把a看作是一个一维数组,它有3个元素:a[0]、a[1]、a[2],每个元素又是一个包含2个元素的一维数组,即把a[0]、a[1]、a[2]看作是3个一维数组的名字。举例:二维数组的输入输出main( ){int a[2][3], i ,j;&printf(”\nInput array& a:”);&for (i=0; i&2; i++)& &&&& for (j=0;j&3;j++)&&&&&&&& scanf(“%d”, &a[i][j]);&printf(”\nOutput array a:\n”);&for (i=0;i&2;i++)&&& {& for (j=0;j&3;j++)&&& printf(“%4d”,a[i][j]);&&&&&&& printf(“\n”);&&&&&&&&&&&&&&&& /*输出一行后换行,再输出下一行*/&&& }}对二维数组的输入输出多使用二层循环结构来实现:外层循环处理各行,循环控制变量 i 作为数组元素的第一维下标;内层循环处理一行的各列元素,循环控制变量j作为元素的第二维下标。二维数组的存储结构设有定义& int a[2][3];&&& char b[3][2];系统为数组在内存中分配一片连续的内存空间,将二维数组元素按行优先的顺序存储在所分配的内存区域。&&& 数组a与b的各元素的存储顺序如右图所示 &&若有数组a[m][n]则元素a[i][j]的地址为:a+(i×n+j)×元素字节数二维数组的初始化① 分行给二维数组赋初值,每个花括号内的数据对应一行元&& 素。例:int a[2][3]={{1,2,3},{2,3,4}};② 将所有的初值都写在一个花括号内,顺序给各元素赋值。&&& & 例:int a[2][3]={1,2,3,2,3,4};③ 只对部分元素赋值。例:int a[2][3]={{1,2},{4}}; && 系统会自动为没有初值对应的元素赋0值或空字符’\0’& (对字符数组而言)。④ 给全部元素赋初值或分行初始化时,可不指定第一维大小, && 其大小系统可根据初值数目与列数(第二维)自动确定,或&& 根据{ }数目确定;但必须指定第二维的大小。&& 例:int a[][3]={1,2,3,4,5,6};&& &&& && int a[][3]={{0},{0,5}};多维数组的定义与存储 根据二维数组的定义,我们可以类推出多维数组的定义。int& a[2][3][2];&& float c[2][3][2][2];字符数组与字符串字符数组的定义与初始化1. 字符数组的定义字符数组:其元素类型为字符类型的数组,其定义与前面介&&&&&&&&& 绍的数组定义相同。例如:char& str[40];&& &&&&&&&& 定义一个有40个元素的字符数组,每个元素相当于一个字符变量。&&&&&&&&&& char ch[5][30];2. 字符数组的初始化&&&&&&& char& ch1[]={‘a’,’b’,’c’,’d’};&&&&&&& char& ch2[6]={‘a’,’b’};&&&&&&& char& ch3[10]={‘\0’};&& &字符串的概念及存储1.字符串及其相关概念字符串:若干有效字符的序列;&&&&&&& 可包含转义字符、ASCⅡ码表中的字符;形式为:用双引号括起来的字符序列;&&& 例:"I am a& student."&&&&& "Hello "     "a[5]= “&&&&&&&&&&&&&& "%f\n"。 字符串的长度:字符串中所包含的字符的个数。空串:没有一个字符的串。空格串:包含一个或多个空格的串字符串的结束标志:‘\0’。注:C语言无字符串类型,字符串是存放在字符数组中的。2. 可以用字符串来直接初始化字符数组&& 直接把字符串常量写在花括号中来初始化字符数组.&& 如:& &&&&&&&&&&&&&&&&&&&& char ch[9]={“student”}; 花括号可以省略&& 等价于 char ch[9]=“student”; &&系统将双撇号括起来的字符依次赋给字符数组的各个元 素, 并自动在末尾补上字符串结束标志字符'\0'。关于字符数组的几点说明:&(1)字符串结束标志'\0'仅用于判断字符串是否结束,输出字符串时不会输出。&(2)在对有确定大小的字符数组用字符串初始化时,数组长度应大于字符串长度。如:&&&&&& char ch[7]={"student"};是错误的.&(3)如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于,其余的元素自动赋初值为空字符(‘\0’)&(4)不能直接将字符串赋值给字符数组。下面的操作是错误的。&& ch=”student”;字符串的输入输出1.字符串的输出方法(1)用printf函数&&&&&&& 用printf输出字符串时,要用格式符“%s”,输出时输出项表中对应的应是字符串常量 或所要输出的字符串的起始地址,从该起始地址所对应的字符开始逐个字符输出,直到遇到第一个‘\0’为止。&&&&&&& 例如:printf(“%s”, “Hello” );&& 输出结果: Hello&&&&&& 例如:char st[15]=“I& am& a& boy!”&& &&&&&&& printf(“%s\n”,st);&&& printf(“%s”, &st[7]); &&&&&& 输出结果:&&&&&&&&&&&&&&&&&&& I am a boy!&&&&&&&&&&&&&&&&&&& boy! 但:printf(“%s”,&st) 是错误的,因为st就代表了该字符数组的首地址。用puts函数输出字符串调用格式:puts(str);函数功能:将字符串str输出。str应是字符串常量或所要输出的字符串的起始地址(从该地址所对应的字符开始逐个字符输出,直到遇到第一个‘\0’为止,同时将‘\0’转换成换行符)因此,用puts()输出一行,不必另加换行符'\n'。例:puts("Hello"); &&&&&&& char ch[]="student";&&&&&&& puts(ch);& puts(&ch[3]);说明:函数puts每次只能输出一个字符串,&&&&& 而printf可以输出几个:printf("%s%s",str1,str2);2.字符串的输入(1)使用scanf函数输入字符串&&&&&&& 例如:&&&&&&& char& st[15];&&&&&&& scanf(“%s”,st); &&&&&& /*把所输入的字符串存到一维数组st中,即存到以st为起始地址的、连续的内存单元中。*/&&&&&&& 但:scanf(“%s”,&st)是错误的,因为st就代表了该字符 数组的首地址。注意:输入字符串时,回车或空格都将作为输入的结束标志;即:用scanf输入的字符串中不能含有空格。例如:若执行语句 : & char& st[15];&&& scanf(“%s”,st); &&& 按如下方法输入: How are you?↙&&& 则st数组将获得的内容为:& How\0注意:第一个空格后的字符串“are you?” 没有输入到st数组中。How末尾的‘\0’是系统自动加上去的字符串结束标志。(2)使用函数gets( )输入字符调用格式: gets(str);& &函数功能:从键盘读入一个字符串到 以str为起始地址的连续的内存单元中,并自动在末尾加字符串结束标志’\0’。注意:输入字符串时仅以回车作为输入结束的标志,不同于scanf,这种方式可以读入含空格的字符串。例如: char s[14];&&&&&&&&&&&&& gets(s);若输入的字符串为: How are you?↙则s 获得的内容为: How are you?\0字符串处理函数&对于字符串的特殊处理,C语言库函数中除了前面用到的库函数gets( )与puts( )之外,还提供了一些其他常用的库函数,如:&&&& strlen( )& strcpy( )& strcmp( )& strcat( ); 这些函数都包含在 string.h 头文件中.1. 字符串拷贝函数:strcpy( )调用格式:strcpy(d_str, s_str); &&&&&&&&&&&&&&& 或 strcpy(d_str, 字符串常量); 功 能:将以s_str为起始地址的字符串或字符串常量(连同‘\0’)复制到以d_str为起始地址的、连续的内存中。说明:d_str在内存中所占的字节数应& &=& s_str在内存中所 占的字节数。 例如:char s1[8]=“student”;&&&&&& char s2[8], s3[4];&&&&&& strcpy(s2,s1); &&&&&& strcpy(s3,“OK");程序段的功能:&&&&&& 将s1中的“student”赋给s2(连同结束标志‘\0’), s2的值不变, 将“OK"赋给s3;注意:不能直接使用赋值语句来实现拷贝或赋值。例如:s2=s1;&& ×&&&&&&&&& s2=“student”; × 这也是不允许的,只可以在定义的同时这样赋初值。2.字符串连接函数strcat( )调用格式:strcat(d_str,s_str);功能:将s_str连同‘\0’复制连接到d_str的最后一个字符(非‘\0’字符)后面。结果d_str字符串的长度变为这两个字符串的长度之和。例如:&& &char s1[14]=“I am a ”,s2[5]=“boy.”;&& &strcat(s1,s2);3.字符串比较函数strcmp( )调用格式:strcmp(str1,str2);功能:若str1==str2,则函数返回值为0;&& &&& &&& &若str1&str2,则函数返回值为一个正整数;&& &&& &若str1&str2,则函数值返回为一个负整数。比较规则:两个字符串自左至右逐个字符比较,直到出现不同字符或遇到‘\0’为止。如果两个字符串中的字符全部相同且字符串的长度相等,则两个字符串相等;若出现不同字符,则以遇到的第一对不同字符的ASCⅡ大小来决定哪个字符串更大些。返回值为第一对不同字符的ASCII码值之差。例如:下列程序段输出结果是:?char ch1[]=“abc”;char ch2[]=“abcd”printf(“%4d”,strcmp(ch1,“abc”));printf(“%4d”,strcmp(“abcd”,ch2));printf(“%4d”,strcmp(“abce”,“abcd”));printf(“%4d”,strcmp(ch1,ch2));注意:比较两字符串是否相等一般用以下形式:&&& if (strcmp(str1,str2)==0)&&&&& {& …&&&&&& }而& if(str1==str2)& {…}& 是错误的。4.& 求字符串长度函数strlen( )调用格式:strlen(str);功能:求字符串的实际长度即所含字符个数(不包括‘\0’)。&&&&&&&&&&& str为所求字符串的起始地址或字符串常量。例如: char str[10]=“student”;&& &int length1,length2;&& &length1=strlen(str);&&&& &&& &length2=strlen(“very good”); 数组作为函数的参数数组作为函数参数主要有两种情况:数组元素作为函数的实参:&&&&& 这种情况与普通变量作实参一样,只是将数组元素的值传给形参。形参的变化不会影响实参数组元素,我们称这种参数传递方式为“值传递”。数组名作函数的实参:&&&&& 这种情况要求函数的形参是相同类型的数组或指针,这种方式是把实参数组的起始地址传给形参数组,形参数组的改变也是对实参数组的改变,称这种参数传递方式为“地址传递”。1.数组元素做函数实参&&&&& 数组元素作为函数实参与简单变量作为函数参数相同,只是将元素的值传给函数形参,是单向值传递;函数形参只需定义为和数组元素相同类型的变量即可。例如:有两个整型数组 a[8],b[8],将它们所对应的元素逐个相比(即a[0]与b[0]比,a[1]与b[1]比,…),统计两个数组中相应元素的关系分别是大于、等于、小于的数目。int large(int a,int b){ if(a&b) return 1;& if(a==b) return 0;& if(a&b) return -1; &}for(i=0;i&=7;i++){ if(large(a[i],b[i])==1)&& l++;&& &else if( large(a[i],b[i])==0)&&&& e++;&& &else s++;}2.数组名作函数参数 1)数组名作函数参数时,实参必须使用数组名,形参必须& 定义为数组类型,且要求形参数组类型与实参一致。2)形参数组可不指定数组长度。C编译程序不检查形参数组 & 的大小。(1)在一维形参数组名后面可只跟一对空方括。为了在被调用函数中处理数组元素的需要,可另设一个参数来传递数组元素个数。如:float average(float s[ ], int n);&& /* n为要处理的成绩数 */(2)对多维数组而言,形参的第一维可不指定,但其它维必须指定。如 int sum(int s[ ][3], int n);3)数组名做函数参数时实质上是把实参数组的起始地址传给了形参数组,即:形参数组与实参数组对应同一段内存单元。形参数组的改变也是对实参数组的改变,称这种参数传递方式为“地址传递”。& &利用这个特点,可用数组返回多个已经改变了的值。例如:用冒泡排序法将10个数按由小到大排序冒泡法的基本思想:&&& 一趟冒泡排序的思想:将相邻的两个数进行比较,若前面的数大,则交换两数的位置,照此下去,直到最后一个元素被处理,这样,最大的元素就“沉”到了最下面,即在最后一个元素位置。&& 这样,如果有n个元素,共需要进行n-1趟冒泡排序,每趟让剩余元素中最大值“沉”到下面,从而完成排序。
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'数组',
blogAbstract:'&&&&&&&& 在C语言中,提供了一种方便的可以同时设定多个变量的数据类型,这就是数组!&&&&&&&& 前提是,这多个变量必须具有相同的数据类型,比如全部为int类型、或者全部为float类型、或者全为char型等等。&&&&&&& &&&&&&&&& 数组有一维数组、二维数组和多维数组。数组的概念&&&&& 数组:具有相同类型的数据组成的有序序列,用统一的数组名来标示数组。数组中的每一个数据称:数组元素、数组分量、下标变量。数组元素 由其在数组中所在的位置序号(称数组元素的下标)来区分。一个数组元素就是一个相对独立的变量。注意:数组的有序性,是指数组元素存储的有序性,而不是指数组元素值有序。利用这种有序性,在后面的章节中,我们可以方便的用指针解决一些问题。一维数组的定义一维数组:只有一个下标的数组。定义格式:存储类别&& 类型标识符&& 数组名[元素个数];',
blogTag:'c,c语句',
blogUrl:'blog/static/5',
isPublished:1,
istop:false,
modifyTime:9,
publishTime:5,
permalink:'blog/static/5',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'QQ:7714294\nE-mail:',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}输入一个3行4列的二维数组,分别求出每一行、每一列元素之和_vb吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:54,900贴子:
输入一个3行4列的二维数组,分别求出每一行、每一列元素之和收藏
输入一个3行4列的二维数组,分别求出每一行、每一列元素之和,求给个代码
楼主是火星人,坚定完毕--
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或C#程序设计题库
本试题来自:简答题:编一个程序,定义一个n行n列的二维数组,例如,n=4,输入该数组的全部数据。可以在定义数组时赋于常量值。求二维数组中这样元素的位置:它在行上是最小,在列上也是最小。正确答案: intn=4; int[,]a={{25,12,22,14},{15,16,17,18},{19,……
您可能感兴趣的资料
您可能感兴趣的试题
简答题:正确答案: ints,k; inti,j; int[]a=newint[20]; boolpos; while……简答题:正确答案: inti,j,m,n; boolpos; while(true) { n=-1; while(n&……简答题:正确答案: int[]a=newint[80]; inti,j,n=0; while(n&=0) { C……简答题:正确答案: stringa; boolq=true; Console.WriteLine(&请输入你……
考试中心最新试卷
考试中心热门试卷从键盘按行输入4行5列的二维整型数组a的各元,且各元的值都互不相等,先找到并输出数组a中值最大的元素_百度知道
从键盘按行输入4行5列的二维整型数组a的各元,且各元的值都互不相等,先找到并输出数组a中值最大的元素
编程,从键盘按行输入4行5列的二维整型数组a的各元,且各元的值都互不相等,先找到并输出数组a中值最大的元素,输出格式为:a[下标1][下标2]=该数值。然后将数组a中值最大的元素所在的行和列分别与最后一行和最后一列互相交换,再按行输出数组a的各元。例如,输入:56
29供埂垛忌艹涣讹惟番隶
40输出:a[1][1]=95
提问者采纳
看看行不?#&include&&stdio.h&int&a[4][5];void&swap(int&*a,&int&*b){ int&temp&=&*a; *a&=&*b; *b&=&}int&main(int&argc,&char&const&*argv[]){ int&i,&j; int& int& int&indexi,& for(i&=&0;&i&&&4;&++i) {
for(j&=&0;&j&&&5;&++j)
scanf(&%d&,&&a[i][j]);
if((i==0&&&&j==0)&供埂垛忌艹涣讹惟番隶||&(a[i][j]&max))
max&=&a[i][j];
indexi&=&i;
indexj&=&j;
} } printf(&a[%d][%d]=%d\n&,&indexi,&indexj,&a[indexi][indexj]); for(j&=&0;&j&&&5;&++j) {
swap(&a[indexi][j],&&a[3][j]); } for(i&=&0;&i&&&5;&++i) {
swap(&a[i][indexj],&&a[i][4]); }
for(i&=&0;&i&&&4;&++i) {
for(j&=&0;&j&&&5;&++j)
printf(&%d&&,&a[i][j]);
printf(&\n&); } return&0;}
提问者评价
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁VB编写程序生成一个4行5列的二维数组,并求该数组的最大元素及其行号、列号。。_百度知道
VB编写程序生成一个4行5列的二维数组,并求该数组的最大元素及其行号、列号。。
。要求,则要一一标出其所在行号!,再调用求二维数组最大元素及其所在行号。谢谢、列号,按“运行”按钮:运行程序。、列号)的通用过程,结果输出在一个图片框内、列号(若有多个相同的最大元素,编写程序VB,在文本框里生成一个4行5列的两位随机整数数组,其每个数组元素是随机产生的两位数,并求该数组的最大元素及其所在的行号,生成一个4行5列的二维数组
提问者采纳
For j = 0 To UBound(Sj, j)
For i = 0 To UBound(Sj, 4) As IntegerPrivate Sub Command1_Click()
Text1 = &quot, 2)
If aa &lt, j) Then aa = Sj(i;最大值是:&quot, 1)
For j = 0 To UBound(Sj;行.Cls
Picture1; & Suju(i;
Smax = &quot, j) = Rnd * 89 + 10
Text1 = Text1 & &quot.Print Smax(Suju)
End Sub Function Smax(Sj() As Integer) As String
Dim aa As Integer
Dim bb As String
aa = Suju(0,第&&列& & j + 1 & & Sj(i, 2)
If aa = Sj(i, j)
Text1 = Text1 & vbCrLf
Picture1, j) Then
bb = bb & vbCrLf & & & i + 1 & &quotDim Suju(3, 0)
For i = 0 To UBound(Sj; &
For i = 0 To 3
For j = 0 To 4
Suju(i;在第&quot
提问者评价
其他类似问题
按默认排序
其他1条回答
j) Then aa = Sj(i.Cls
Picture1, 0)
For i = 0 To UBound(Sj;& Sj(i;行;在第& & i + 1 & & & j + 1 & &quot,第&quot, j)
For i = 0 To UBound(Sj, 1)
For j = 0 To UBound(Sj;最大值是:&quot, 1)
For j = 0 To UBound(Sj;
For i = 0 To 3
For j = 0 To 4
Suju(i, j)
Text1 = Text1 & vbCrLf
Picture1; & Suju(i, 2)
If aa &lt, j) = Rnd * 89 + 10
Text1 = Text1 & &
Smax = & &quot, j) Then
bb = bb & vbCrLf & &quot.Print Smax(Suju)
End Sub Function Smax(Sj() As Integer) As String
Dim aa As Integer
Dim bb As String
aa = Suju(0, 2)
If aa = Sj(i;列&quotPrivate Sub Command1_Click()
Text1 = &quot
二维数组的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 int 最大值 的文章

 

随机推荐