ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:141.54KB ,
资源ID:9807331      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9807331.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C语言程序与设计第5章实验及习题答案.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言程序与设计第5章实验及习题答案.doc

1、第5章 实验及习题答案 5.6 实 验 实验任务1 一维数组程序设计 二、实验内容 1.验证性实验 (1)验证【例5-2】程序(输入10个整数,存入数组中,分别按原序、逆序输出),回答题后问题。 ① 运行程序时如何输入数据?请举例: 1 2 3 4 5 6 7 8 9 10↙(也可用回车符间隔数据) 。 ② 输入的10个数据分别存放在 a[0]~ a[9] 中。 ③ 若要计算10个整数的与,请写出此程序段并验证。 (2)验证【例5-4】程序(选择法排序),回答题后问题。 ① 语句“if ( w != i ) { t = a[i] ; a[i]

2、 = max ; a[w] = t ; }” 实现的操作是 在第i趟排序中,如果找出的最大数a[w]不在最前面,则与a[i]交换,否则不交换 。 ② 请将随机产生的数据改为从键盘输入。 ③ 请修改程序实现从小到大排序。 2.设计性实验 (1)把一组数{ 3,4,6,7,1,8,9,13,2,5,11,14 }中的所有奇数找出,放在另一个数组中并输出,数据由初始化方式提供。 参考程序: # include main( ) { int a[12] = { 3 , 4 , 6 , 7 , 1 , 8 , 9 , 13 , 2 , 5 , 1

3、1 , 14 } , b[12] , i , j , m ; for( i = 0 ; i < 12 ; i++ ) /* 输出原始数据 */ printf( " %4d " , a[i] ) ; printf( " \n " ) ; m = 0 ; for( i = 0 ; i < 12 ; i++ ) /* 找奇数 */ if( a[i]%2==1 ) { b[m] = a[i] ; m++ ; }

4、 for( j = 0 ; j < m ; j++ ) /* 输出奇数 */ printf( " %4d " , b[j] ) ; (2)利用随机数函数产生20个三位数,将这20个数从小到大排列并输出。 参照【例5-4】P127页选择法排序程序,只需做下列修改: ² 将N 的值改为20 ² 将语句:a[i] = rand ( ) % 100 ; 改为:a[i] = rand ( ) % 900+100 ; 也可参照【例5-4】与【例5-5】写出用冒泡法排序的程序。 (3)已知一个有序数列{ 3,

5、5,6,8,11,14,19,23,25,35,41 },要求从键盘输入一个任意数,将其插入到合适位置仍使数列有序,输出插入前、后的数列。 参照【例5-7】,参考程序如下: # include # define N 11 main( ) { int i , b[N+1] = { 3 , 5 , 6 , 8 , 11 , 14 , 19 , 23 , 25 , 35 , 41 } , x ; printf(" the source order is : \n" ) ; for( i = 0 ; i < N ;

6、i++ ) /* 输出插入前的数列 */ printf( " %4d " , b[i] ) ; printf("\n" ) ; printf(" Please input insert data : " ) ; /* 提示信息 */ scanf("%d" , &x ) ; /* 输入插入的数据 */ for( i = N-1 ; i >=0 ; i-- ) /* 后移数据 */

7、 if ( x < b[i] ) b[i+1 ]= b[i] ; else break; b[i+1] = x ; /* 插入数据 */ printf( " the result is : \n ") ; for( i = 0 ; i < N+1 ; i++ ) /* 输出插入后的数列 */ printf( " %5d " , b[ i ] ) ; (4)输入一个十进制数,将其转换成八进制数后输出结果。 参照【例5

8、8】只需将程序中的2 改为8即可,也可用别的方法实现。 实验任务2 二维数组程序设计 二、实验内容 1.验证性实验 (1)验证【例5-10】程序(二维数组求最小值及所在的位置),回答题后问题。 ① “printf( "\n" ) ; ”语句的作用是 按行输出或输出换行 。 ② 不给min赋初值或给min 赋初值为0,程序的运行结果会是什么?(有时会出现错误结果) ③ 输出时为什么要用row +1 , col +1?(因为在数组中,行、列是从0数起的) (2)验证【例5-13】程序(杨辉三角形),回答题后问题。 ① 语句“y[m][0] = 1 ; y[m][

9、m] = 1 ; ”实现的操作是 给第1列与对角线上的元素赋值为1 。 ② 语句“if ( n == 0 || n == m ) y[m][n] = 1 ; ”实现的操作是 作用同① 。 ③ 语句“y[m][n] = y[m-1][n-1] + y[m-1][n] ; ”实现的操作是 给第1列与对角线上之外的元素赋值 。 2.设计性实验 (1)设有二维数组如下:{ { 1 , 11, 19 , 9 , 12 } , { 2 , 5 , 20 , 1 , 18 } , { 3 , 4 , 16 , 6 , 10 } , { 4 , 15 , 2 , 17 , 3 }

10、 { 5 , 14 , 7 , 13 , 8 } ,请按行(第2~5行)、按列(第2~5列)求与及总与,然后以二维表形式输出数据及求与结果,数据由初始化方式提供。 参照【例5-11】,参考程序如下: # include main( ) { int a[5+1][5+1] = { { 1 , 11, 19 , 9 , 12 } , { 2 , 5 , 20 , 1 , 18 } , { 3 , 4 , 16 , 6 , 10 } , { 4 , 15 , 2 , 17 , 3 } , { 5 , 14 , 7 , 13 , 8 }} , i , j , s

11、um ; for( i = 1 ; i <= 4 ; i++ ) /* 按行求与 */ { sum = 0 ; for( j = 1 ; j <= 4 ; j++ ) sum += a[i][j]; a[i][5] = sum; for( j = 1 ; j <= 5 ; j++ ) /* 按列求与及总与 */ { sum = 0 ; for( i = 1 ; i

12、<= 4 ; i++ ) sum += a[i][j]; a[5][j] = sum; /*—————————————— 输出结果 —————————————*/ for( i = 0 ; i <= 5 ; i++ ) { printf( " \n " ) ; for( j = 0 ; j <= 5 ; j++ ) printf( " %4d " , a[i][j] ) ; (2)对一个m×n的矩阵,分别求两个对角线上的所有元素

13、之与,然后输出这个矩阵及计算结果。矩阵的数据由键盘输入。 参考程序: # include # define M 5 # define N 5 main( ) { int a[M][N] , i , j , sum1=0 , sum2=0 ; printf(" 请输入M行N列的矩阵: \n " ) ; for( i = 0 ; i < M ; i++ ) { for( j = 0 ; j < N ; j ++ ) scanf( "%d" , &a[i][j] ) ; fo

14、r( i = 0 ; i < M ; i++ ) { sum1 += a[i][i] ; sum2 += a[i][M-1-i] ; for( i = 0 ; i < M ; i++ ) { for( j = 0 ; j < N ; j++ ) printf( " %4d " , a[i][j] ) ; printf( " \n" ) ; printf( " sum1 = %d , sum2 = %d " , sum1 , sum2 ) ; (3)对一个m×n的矩

15、阵,交换指定的两列元素。交换的两列列号由用户从键盘指定。输出交换前后的矩阵。矩阵的数据由初始化方式提供。 参考程序: # include # define M 3 # define N 5 main( ) { int a[M][N] ={ { 1 , 11, 19 , 15 , 2} , { 2 , 5 , 20 , 14 , 7} , { 3 , 4 , 16, 4 , 5 } }, i , j , m1 , m2 , t ; printf("输出M行N列的矩阵: \n " ) ; for( i = 0 ; i < M ;

16、 i++ ) { for( j = 0 ; j < N ; j ++ ) printf( "%4d" , a[i][j] ) ; printf( " \n" ) ; printf("请输入要交换的两列列号: " ) ; scanf( "%d,%d" , &m1 , &m2 ) ; for( i = 0 ; i < M ; i++ ) { t = a[i][m1-1] ; a[i][m1-1] = a[i][m2-1] ; a[i][m2-1] = t ; p

17、rintf( " 输出交换列后的矩阵\n" ) ; for( i = 0 ; i < M ; i++ ) { for( j = 0 ; j < N ; j ++ ) printf( "%4d" , a[i][j] ) ; printf( " \n" ) ; 实验任务3 字符串及数组综合程序设计 二、实验内容 1.验证性实验 (1)验证【例5-17】程序(输出一个字符串),回答题后问题。 ① 输入字符串使用语句: scanf( "%s" , s3 ) ; 。 ② 输出字符串使用语句: prin

18、tf( " %s " , s3 ) ; 。 ③ 数组名s3代表 数组s3的首地址 。 (2)验证【例5-21】程序(输入/输出多个字符串),回答题后问题。 ① 输入字符串使用语句: gets( city[i] ) ; 。 ② 输出字符串使用语句: prints( " %s \t " , city[i] ) ; 。 ③ city[i]代表 二维数组city每行的首地址 。 2.设计性实验 (1)从键盘输入自己的QQ号与密码,进行保存,并将密码加密(加密规则自定),然后将QQ号与加

19、密后的密码输出。 设加密规则为:按密码字母顺序依次加1,2,3…… 参考程序: # include # include # define M 10 /* M代表字符串的最大长度 */ main( ) { char user[M] , pass1[M] , pass2[M] ; int i ; printf( "请输入用户名:" ) ; gets( user ) ;

20、 printf( "请输入用户名密码:" ) ; gets( pass1) ; for( i = 0 ; i

21、序: # include # include # define M 40 /* M代表字符串的最大长度 */ main( ) { char s1[M] , s2[M] ; int i , n = 0 ; printf( "请输入带空格的字符串:" ) ; gets( s1 ) ; for( i = 0 ; i

22、 if ( s1[i] != ' ' ) { s2[n] = s1[i] ; n++ ; } s2[n]= '\0' ; puts( s1 ) ; puts( s2 ) ; (3)期末班级成绩处理。设有学生5人,每人5科成绩,统计每个学生的总分、不及格课程门数,并按总分排名次,按下面格式输出排名后的成绩单。数据由初始化方式提供。 学号 姓名 科目1 科目2 科目3 科目4 科目5 总分 名次 不及格门数 实现的程序可参考(P164~165) 习 题 5 一、选择题 1.以下关于数组描述正确的是( C )。

23、 A.数组的大小是固定的,但可以有不同类型的数组元素。 B.数组的大小是可变的,但所有数组元素的类型必须相同。 C.数组的大小是固定的,所有数组元素的类型必须相同。 D.数组的大小是可变的,可以有不同类型的数组元素。 2.以下不能正确定义一维数组的选项是( D )。 A.int a[5] = { 1 , 2 , 3 , 4 , 5 } ; B.int a[ ] = { 1 , 2 , 3 , 4 , 5 } ; C.int a[5] ; D.int n = 5 , a[n ] ; 3.设有“int i , a[

24、10] ; 且0< i < 10”,不能正确引用a数组元素的是( A )。 A.a[10] B.a[i] C.a[2] D.a[10-i] 4.设有语句“int a[10] = { 1 , 2 , 3 , 4 } , i = 0 ; ”,则a[i + 1]的值为( B )。 A.1 B.2 C.3 D.4 5.若有“int a[ 8 ] = { 1 , 3 , 5 , 7 , 9 , 11 } ; ”,则a数组中的元素个数是( D )。 A.不确定

25、 B.6 C.7 D.8 6.若有“int a[10] = { 0 , 1 , 2 , 3 , 4 , 5 } ; ”,则对 a数组元素的引用范围是( D )。 A.a[10] B.a[1] ~ a[10] C.0 ~ 5 D.a[0] ~ a[9] 7.设有语句“int a[10] = { 1 , 3 , 5 , 7 , 9 , 11 } ; ”,则a[1]的值为( C )。 A.1 B.2 C.3

26、 D.4 8. 设有“int a[6] = { 1 , 2 , 3 , 4 } , i ; ”,不能正确输出a中所有元素值的语句是( A )。 A. B. for ( i = 0 ; i < 6 ; i++) printf(" %3d " , a[i] ) ; for ( i = 1; i < 6 ; i++) printf(" %d " , a[i] ) ; C. D. for ( i = 1; i < 6 ; i++) printf(" %d " , a[i-1] ) ; for ( i

27、 = 0 ; i <= 5 ; ) printf(" %3d " , a[i++] ) ; 9.设有“int a[ ][2] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 } ; ”,则值为3的数组元素是( C )。 A.a[1][3] B.a[2][1] C.a[1][0] D.a[3][1] 10.以下数组定义有错误的语句是( B )。 A.int x[ ][3] = { 0 } ; B.int x[2][3] = { { l , 2 } , { 3 , 4 } , { 5

28、 6 } } ; C.int x[ ][3] = { { l , 2 , 3 } , { 4 , 5 , 6 } } ; D.int x[2][3] = { l , 2 , 3 , 4 , 5 , 6 } ; 11.若有“int x[ ][2] = { 1 , 3 , 5 , 7 , 9 , 11 , 13 } ; ”,则x数组的行数为( C )。 A.2 B.3 C.4 D.无确定值 12.设有“int x[3][4] = { { 1 } , { 2 } , { 3 } } ; ”,那么元素x[1][

29、1]的取值是( A )。 A.0 B.1 C.2 D.不确定 13.执行下面程序后的输出结果是( D )。 main( ) { int i , b[ ][3] = { 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 } ; for ( i = 0 ; i < 3 ; i++ ) printf( " %d " , b[i][i] ) ; A.9 8 7 B.3 5 7 C.9 6 3 D.9 5 1 14.以下不能正确初始化字符数组的选

30、项是( D )。 A.char str[10] = "abcdef" ; B.char str[ ] = {" abcdef " } ; C.char str[10] = "abc\0def " ; D.char str[ ] = { abcdef } ; 15.设有“char str[ ] = "ABCDE" ; ”,则能够正确输出str中字符串的语句是( C )。 A.printf( " %c " , str[0] ) ; B.printf( " %s " , str[0] ) ; C.printf( "

31、 %s " , str ) ; D.printf( " %s " , &str ) ; 16.有两个字符数组x、y,则能够正确对x、y进行输入的语句是( B )。 A.gets( x , y ) B.scanf( " %s %s " , x , y ) ; C.scanf( " %s %s " , &x , &y ) ; D.gets( " x " ) ; gets( " y " ) ; 17.下面程序运行后的输出结果是( C )。(注:请此题中p、q改为s1、s2) main(

32、) { char s1[ ] = { 'a' , 'b' , 'c' } , s2[ ] = "abc" ; printf( " %d %d \n " , sizeof ( s1 ) , sizeof ( s2 ) ) ; A.4 4 B.3 3 C.3 4 D.4 3 18.判断字符串a与b是否相等,应当使用( D )。 A.if ( a == b ) B.if ( a = b ) C.if ( strcpy ( a , b ) )

33、 D.if ( strcmp ( a , b ) ) 19.以下程序的输出结果是( A )。 main( ) { char str[20] = "hello\0OK" ; printf( " %d , %s " , strlen ( str ) , str ) ; A.5 , hello B.9 , hello C.5 , helloOK D.7 , helloOK 10 20.设有“char s1[20]= "abc", s2[20] = "123" ; ”,能将s2连接到s1后面的语句是( D

34、 )。 A.strcmp ( s1 , s2 ) ; B.strcpy ( s1 , s2 ) ; C.s1 = s1 + s2 ; D.strcat ( s1 , s2 ) ; 二、阅读下面程序,写出运行结果,并回答题后问题 1.下面程序的输出结果为 s = 25 。程序实现的功能是:求x数组中第1,3,5,7,9个整数的与。 main( ) { int x[10] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,10 } , s = 0 , i ;

35、 for ( i = 0 ; i < 10 ; i++ , i++ ) s += x[i] ; printf(" s = %d \n " , s ) ; 2.下面程序的输出结果为 4 , 3 , 2 , 1 , 。程序实现的功能是:逆序输出x数组中的内容 main( ) { int x[4] = { 1 , 2 , 3 , 4 } , i ; for ( i = 3 ; i >= 0 ; i-- ) printf( " %d , " , x[ i ] ) ; 3.下面程序的输出结果为 4

36、2 4 。程序实现的功能是:统计a数组中各种元素值的个数,即统计1的个数,2的个数,3的个数. main( ) { int a[10] = { 1 , 2 , 3 , 2 , 3 , 1 , 3 , 1 , 3 , 1 } , n[4] = { 0 } , i ; for ( i = 0 ; i < 10 ; i++ ) n[a[i]]++; for ( i = 1 ; i <= 3 ; i++ ) printf(" %d " , n[i] ) ; 4.下面程序的输出结果为 4 8

37、2 。程序实现的功能是:输出二维数组中每行第4列的元素。(注:此题初始化时多了数字,请去掉最后的3,4) main( ) { int a[3][4] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 1 , 2 } , i ; for ( i = 0 ; i < 3 ; i++ ) printf( " %d " , a[i][3] ) ; 5.下面程序的输出结果为 21 。程序实现的功能是: 求a数组第1列与第1行的累加与。 main( ) { int a[3][3] = {

38、 { 1 , 2 , 9 } , { 3 , 4 , 8 } , { 5 , 6 , 7 } } , i , s = 0 ; for ( i = 0 ; i < 3 ; i++ ) s += a[i][0] + a[0][i] ; printf( " %d \n " , s ) ; 6.下面程序的输出结果为 cdefg c abcdefg 。 main( ) { char str[10] = "abcdefg" ; printf( " %s \t" , &str[2] ) ;

39、printf( " %c \t" , str[2] ) ; printf( " %s " , str ) ; ① 输出整个字符串使用语句 printf( " %s " , str ) ; 。 ② 输出字符串中的一个字符,使用语句: printf( "%c" , str[2] ) ; 。 7.下面程序的输出结果为 12+34 , abcdef abcdef , 12+34 。 main( )  { char  sa[ ] = "12+34" , sb[

40、] = "abcdef " , sc[10]; printf(" %s , %s \n" , sa , sb ) ;   strcpy( sc , sa ) ; strcpy( sa , sb ) ; strcpy( sb , sc ) ; printf(" %s , %s \n" , sa , sb ) ;   ① 初始化时数组sa中存放的是 字符串12+34\0 ,sb中存放的是 字符串abcdef\0 。 ② 程序实现的功能是 交换两个字符串,即 sa 与sb 中的内容 。 三、程序设计题 1.随机产生并输出2

41、0个100以内不重复的整数。 参考程序: # include "stdio.h" # include "stdlib.h" /* 函数rand( )的头文件 */ # include "time.h" /* 函数time( )的头文件 */ # define N 20 main( ) { int a[N] , i , j , x ; srand( ( unsigned )time ( NULL ) ) ; /* 随机数种子数 */ for( i = 0 ; i <20

42、 ; i ++ ) { do { x = rand ( ) % 100 ; for ( j = 0 ; j < i ; j ++ ) if ( x == a[j] ) break ; if ( j>=i ) { a[i] = x ; break ; } } while(1) ; for( i = 0 ; i <= N-1 ; i++ ) /* 输出*/ printf( " %5d" , a[

43、i] ) ; printf( " \n" ) ; 2.把一个一维组数中{ 3 ,4 , 6 , 7 , 1 , 8 , 9 , 13 , 2 , 5 , 11 , 14 }的所有偶数剔除,保留奇数并连续存放在本数组中,输出剔除前、后组数内容,数据由初始化方式提供。 参考程序: # include "stdio.h" main( ) { int a[12] ={ 3 ,4 , 6 , 7 , 1 , 8 , 9 , 13 , 2 , 5 , 11 , 14 }, i , k ; for( i = 0 ; i < 12 ; i

44、 ) /* 输出剔除前的数组 */ printf( " %5d" , a[i] ) ; printf( " \n" ) ; k =0 ; for( i = 0 ; i < 12 ; i++ ) /* 剔除偶数 */ if ( a[i]%2==1 ) { a[k]=a[i] ; k++ ; } for( i = 0 ; i < k ; i++ )

45、 /* 输出剔除后的数组 */ printf( " %5d" , a[i] ) ; 3.随机产生20个100以内的整数,从键盘输入一个要查找的数据,若找到,输出整个数列,并输出查找到的位置(可能有多个);若没有找到,也输出整个数列,并给出一个未找到的信息。 参考程序: # include "stdio.h" # include "stdlib.h" /* 函数rand( )的头文件 */ # include "time.h" /* 函数time( )的头文件 */ mai

46、n( ) { int a[20] , i , x , F = 0 ; srand( ( unsigned )time ( NULL ) ) ; for( i = 0 ; i <20 ; i ++ ) /*产生20个数 */ a[i] = rand ( ) % 100 ; printf( "请输入一个要找的数:" ) ; scanf("%d" , &x ) ; for( i = 0 ; i <20 ; i ++ ) printf( " %5d" ,

47、a[i] ) ; printf( " \n找到的位置是:" ) ; for( i = 0 ; i <20 ; i ++ ) /*找数据 */ if ( a[i] ==x ) { printf("%d , " , i+1 ) ; F = 1 ; } if ( F == 0 ) printf(" \n查无此数!\n") ; 4.随机产生100个整数,找出其中的素数,统计出素数的个数,每行输出10个素数。 参考程序: # include "stdio.h" # include "stdlib.h

48、" /* 函数rand( )的头文件 */ # include "time.h" /* 函数time( )的头文件 */ # include "math.h" /* 函数time( )的头文件 */ # define N 100 main( ) { int a[N] , b[N]= { 0 } , i , j , m= 0 , F ; srand( ( unsigned )time ( NULL ) ) ; for( i = 0 ; i <

49、N ; i ++ ) /*产生20个数 */ a[i] = rand ( ) % 200 ; for( i = 0 ; i

50、a[i] ) ; j ++ ) if ( a[i]%j==0 ) { F = 0 ; break ; } if ( F == 1 ) { b[m] = a[i] ; m++ ; } printf( "素数的个数是:%d , 素数是: \n" , m ) ; for( i = 0 ; i

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服