实验九数组(2) 级 姓名 指导老师 成绩 第 机房 号机器时间: 实验目的:1.进一步掌握一维数组、二维数组的使用 2.熟练掌握字符数组的定义与使用 3.掌握使用字符数组编写程序 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结果 实验内容 读程序 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。 1.以下程序执行时输入 I am a student,写出运行结果。 #include main() char str[30 1 scanf("s", str)i printf(" str s \ n" gets(str)i str 分析结果 2 #include #include char s2[]=” China!" printf("gd \n", strlen(s2)) strcat(sl s2)
实验九 数组(2) 班级______________姓名___________指导老师_____________成绩___________ 第_____________机房___________号机器 时间:________________________ 实验目的:1.进一步掌握一维数组、二维数组的使用。 2.熟练掌握字符数组的定义与使用。 3.掌握使用字符数组编写程序。 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结果。 实 验 内 容 一、读程序 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。 1.以下程序执行时输入 I am a student. ,写出运行结果。 #include #include main() { char str[30 ] ; scanf(“%s” , str); printf(“ str = %s \n” , str ); gets(str) ; printf(“ str = %s \n” , str ); } 分析结果 运行结果 2. #include #include main() { char s1[50]= “ I love ”; char s2[ ]=” China!” printf(“%d , \n”, strlen(s2) ); strcat(s1 , s2);
46· C语言程序设计上机指导与同步训练 printf(”暑s\n",s1) #include #include char b[7]={"54da12″ s=10*s+b[i] printf(“号d\n ) 分析结果 运行结果 4.运行以下程序时,从键盘输入ab def #include #define N 6 main( IN J int i=0 for for(主=0;主 #include main() int⊥=0 char b[] ="aqid",c[10]; whi1e(a[i]!='\0′b[主]1=10′)
·46· C 语言程序设计上机指导与同步训练 ·46· printf(“ %s \n” , s1); } 分析结果 运行结果 3. #include #include main() { char b[ 7 ] = { “ 54da12”} ; int i , s=0 ; for ( i =0 ; b [ i ] >=’ 0 ’ && b [ i ] c def #include #include #define N 6 main( ) { char c[N ] ; int i=0; for ( ; i #include main() { int i= 0 ; char a [ ] = “abm” ; char b [ ] = “aqid” , c [10] ; while ( a [ i ] != ‘\0’ && b [ i ] != ‘\0’ ) {
第一部分c语言程序设计上机指导 47 if( a[i] >=b[i])c[i]=a[i 1 else c[ i ]=b[i j uts 分析结果 6.当运行以下程序时,从键盘输入: teacher和 student,写出运行结果。 #include #include string.h> max i inta【2][ for( i=0 i i for (i=0 i i i++) or (3=0 j if I max=a [i][j];m=i in=jiI printf(”影dd旨dn 分析结果 运行结果 、完成程序 要求:根据要求,分析给出的上下语句,填写程序。 1.以下程序的功能是输出两个字符串中对应相等的字符,请在 上填写正确 内容 #include main( i char x []="programming char y while(x[ i ]1 0’&ky[i] [主
第一部分 C 语言程序设计上机指导 ·47· ·47· if ( a [ i ] >= b [ i ] ) c [ i ] = a [ i ] - 32 ; else c [ i ] = b [ i ] - 32 ; + + i ; } c [ i ] = ‘ \ 0 ‘ ; puts ( c ) ; } 分析结果 运行结果 6.当运行以下程序时,从键盘输入:teacher和 student,写出运行结果。 #include #include main() { int i , j , m , n , i , max ; int a[ 2 ][ 80 ] ; for ( i=0 ; i t ) { max = a [ i ][ j ] ; m = i ; n = j ;} } printf ( “ %d % d %d \n” , max , m , n ); } 分析结果 运行结果 二、完成程序 要求:根据要求,分析给出的上下语句,填写程序。 1.以下程序的功能是输出两个字符串中对应相等的字符,请在_______上填写正确 内容。 #include #include main( ) { char x [ ]= “programming” ; char y [ ] = “Fortran” ; int i=0 ; while( x[ i ] ! = ‘ \0 ’ && y [ i ] ! = ‘ \0 ’) if ( x [ i ] == y [ i ] ) printf ( “ %c ”, ___________ ) ; else ___________ ; }
C语言程序设计上机指导与同步训练 2.下面程序的功能是将字符串a中所有的字符c删除,请在 上填写正确内容。 #include #include char s [80] i gets(s) 0;s[i]!=\0';i++) if(s[I puts( s 3.以下程序的功能是在一个字符数组中查找一个指定的字符,若数组中含有该字符则 输出该字符在数组中第一次出现的位置(下标界):否则输出-1;请在 填写正确内容 #include #include main() char t [50 I k, j gets t 0;k computer musIcsgame,想找出最大字符 串,请在 上填写正确内容。 #主 nclude stdio. h> #include char str 10 1, temp [10]=I "Control "); for(i=0;i<4;i++ i gets str if strcpy( temp, str 5.以下程序的功能是:求出每个字符串的长度,并输出字符串和长度。请在上 填写正确内容
·48· C 语言程序设计上机指导与同步训练 ·48· 2.下面程序的功能是将字符串 a 中所有的字符 c 删除 ,请在_______上填写正确内容。 #include #include main() { char s [80] ; int i , j ; gets(s) ; for ( i = j = 0 ; s [ i ] ! = ‘ \ 0 ‘ ; i + +) if ( s [ I ] ! = ‘c’ ) ________________________; s [ j ] = ‘ \ 0 ’ ; puts( s ) ; } 3.以下程序的功能是在一个字符数组中查找一个指定的字符,若数组中含有该字符则 输出该字符在数组中第一次出现的位置(下标界);否则输出-1;请在_______上填写正确内容。 #include #include main() { char t [50 ] , c = ‘ a ‘ ; int n , k , j ; gets ( t ) ; n = _______________; for ( k = 0 ; k computermusicgame,想找出最大字符 串,请在_______上填写正确内容。 #include #include main() { char str [ 10 ] , temp [10] = { “ Control ” }; int i ; for (i=0 ;i < 4 ;i++) { gets ( str ) ; if ( ________________) strcpy ( temp , str ) ; } puts(temp) ; } 5.以下程序的功能是:求出每个字符串的长度,并输出字符串和长度。请在_______上 填写正确内容
第一部分c语言程序设计上机指导 #include 21[10={“ Delphi7”,“ Server”} if (a[i][3] 调试程序 要求:分析下列程序是否正确,如有错,错在哪里?应如何改正?如正确,运行结果 如何?上机调试之 1. main() Language Prog for (i=0 1en++ rinf 正确 运行结果 i char a 10 ],b[10 int i for(主〓0;i<10;i nf(” printf(“c",b[i])
第一部分 C 语言程序设计上机指导 ·49· ·49· #include #include main() { char a [ 2 ] [ 10 ] = { “Delphi 7” , “Server”} ; int i , j , len [ 2 ] ; for ( i=0 ; ________ ; i + +) { for ( j = 0 ; j < 10 ; j + + ) if ( a [ i ][ j ] == ‘ \ 0 ‘ ) { ____________; break ; } printf ( “ % s : % d \n ” , a [ i ] , len [ i ] ) ; } } 三、调试程序 要求:分析下列程序是否正确,如有错,错在哪里?应如何改正?如正确,运行结果 如何?上机调试之。 1. main() { char a[ ] ; int I, len=0 ; a = “C Language Program” ; for (i=0 ; a [ i ] != ‘ \0 ’ ;i+ +) len + + ; printf( “ %s ,“ , a ) ; } 正确 运行结果: 错误 错误所在: 应改为: 2. main() { char a [ 10 ] , b [ 10 ] ; int i ; for ( i = 0 ; i < 10 ; i + + ) scanf (“% c “, a [ i ] ) ; b = a ; for ( i =1 ; b [ i ] != ‘ \ 0 ‘ ; i + +) printf( “% c “ , b[i]) ; }
C语言程序设计上机指导与同步训练 行结果 错误 错误所在 3.下面程序的功能是:将字符数组a6={a',b',c;‘d',e',“f'}变为a[6 main() i int i t [5 [主 i-1 for(⊥=0;i include string. h> main() char s[20],str[3][201 for (i=0 ii <3; i ++) gets( str i 1 i if str [0] str [i] )s= str [o]i else s= str[ l] if str 2]<s )s=str printf(”n”) printf("Min string is %s",s)i 运行结果 错误所在
·50· C 语言程序设计上机指导与同步训练 ·50· 正确 运行结果: 错误 错误所在: 应改为: 3.下面程序的功能是:将字符数组 a [6] ={ ‘a’ , ‘ b ’ , ‘ c ’, ‘ d ’ , ‘ e ’ , ‘ f ’ } 变为 a [6] ={‘ f ’ , ‘a’ , ‘ b ’ , ‘ c ’, ‘ d ’ , ‘ e ’ , }。 main() { int i ;char t; char a [ 6 ] = { ‘a’ , ‘ b ‘ , ‘ c ‘, ‘ d ‘ , ‘ e ‘ , ‘ f ‘ } ; t = a [5 ] ; for (i=5 ; a [ i ] ! = ‘ \ 0 ‘ ; i - - ) a [ i ] = a [ i – 1 ] ; a [ 0 ] =t; for (i=0 ;i #include main() { int i ; char s [ 20 ] , str [ 3 ][ 20 ] ; for (i= 0 ; i < 3 ; i ++) gets ( str [ i ] ) ; { if ( str [ 0 ] < str [ i ] ) s = str [ 0 ] ; else s = str [ 1] ; if ( str [ 2 ] < s ) s = str [ 2 ] ; } printf(“ \n” ); printf(“ Min String is :%s”,s) ; } 正确 运行结果: 错误 错误所在: 应改为:
第一部分c语言程序设计上机指导 四、写程序 1.编写一个程序,从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分 隔,并输出单词的个数。 2.编写一个将一个字符串逆转的程序,如将a[]=“ Computer改为a[]= retupmoC”。 3.编写一个将一个字符串中所有旧字符替换成新字符的程序。 4.编写一个程序统计某班3门课程的成绩,他们是ⅤB, Access, Photoshop。先输入 学生人数,然后按编号从小到大的顺序依次输入学生成绩,最后统计每门课程全班的总成 绩和平均成绩以及每个学生课程的总成绩和平均成绩
第一部分 C 语言程序设计上机指导 ·51· ·51· 四、写程序 1.编写一个程序,从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分 隔,并输出单词的个数。 2.编写一个将一个字符串逆转的程序,如将 a [ ] =“ Computer ”改为 a [ ] =“ retupmoC ”。 3.编写一个将一个字符串中所有旧字符替换成新字符的程序。 4.编写一个程序统计某班 3 门课程的成绩,他们是 VB , Access , Photoshop。先输入 学生人数,然后按编号从小到大的顺序依次输入学生成绩,最后统计每门课程全班的总成 绩和平均成绩以及每个学生课程的总成绩和平均成绩