实验七数组应用二(da)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七数组应用(二)
一、实验目的
1.进一步掌握一维数组、二维数组的使用;
2.熟练掌握字符数组的定义与使用;
3.掌握常用的字符处理函数;
4.掌握使用字符数组编写程序。
二、实验学时数
2学时
三、实验步骤
(一)阅读程序
1.#include
#include
main()
{char s1[50]= “I am”;
char s2[ ]=”student!”
printf(“%d,\n”, strlen(s2) );
strcat(s1,s2);
printf(“%s\n”,s1);
2.main()
{ char b[7] = {“67da12”} ;
int i , s=0 ;
for(i =0 ; b [i] >=’0’ && b [i]<=’9’;i+=2) s = 10*s + b [i] –’0’;
printf (“%d\n”, s ) ;
}
3. #include
main()
{int i= 0 ;
char a [ ] = “cbm” ;
char b [ ] = “cqid” , c [10] ;
while ( a [i] != ‘\0’ && b [i] != ‘\0’ )
{ if (a [i] >= b[i] ) c[i] = a[i] - 32 ;
else c[i] = b[i] - 32 ;
++i ;
}
c [i] = ‘ \ 0’ ;
puts ( c ) ;
(二)完成程序
要求:依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,改动程序的结构。
1.下面程序的功能是将字符串a中所有的字符 d 删除。
#include
main()
{ char s [80] ;
int i , j ;
gets(s) ;
for ( i = j = 0 ; s [i] ! = ‘ \ 0’ ; i + +)
if ( s [i] ! = ‘d’ ) _s[j++]=s[i]_______________________;
s [ j ] = ‘ \ 0’ ;
puts( s ) ;
}
2.从键盘输入 :apple
#include
#include
main()
{char str [10] , temp [10]=”\0”;
int i;
for (i=0 ;i<4 ;i++)
{ gets ( str ) ;
if (strcmp(str,temp)>=0) strcpy ( temp , str ) ;
}
puts(temp) ;
}
(三)调试程序
要求:调试运行下列程序是否正确,若有错,写出错在何处?填写正确的运行结果。
1.行号 main()
1 { char a[ ] ;
2 int i, len=0 ;
3 a = “C Language Program” ;
4 for (i=0 ; a [ i ] != ‘ \0 ’ ;i+ +)
5 len + + ;
6 printf( “ %s ,%d“ , a,len) ;
7}
#include
main()
{char a[]="C Language Program" ;
int i, len=0 ;
for(i=0 ; a [ i ] != '\0' ;i++)
len++ ;
printf( " %s ,%d" , a,len) ;
}
2.下面程序的功能是:将字符数组a [6] ={ ‘a’, ‘ b’, ‘ c’, ‘d’, ‘e’,‘ f’ } 变为 a [6] ={‘f’,‘a’, ‘b’ , ‘c’, ‘d’,‘e’}。
行号main( )
1 { int i ;char t;
2 char a[6] = {‘a’,‘ b’,‘ c ’,‘ d’,‘ e ’,‘ f’ } ;
3 t = a [5] ;
4 for (i=
5 ; a[i] ! ='\ 0’; i - - )
5 a [i] = a [i–1] ;
6 a [0] =t;
7 for (i=0 ;i < =5 ;i++)
8 printf (“%c” , a [ i ] );
9 printf ( “\n”) ;
#include
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 <=5 ;i++)
printf ("%c" , a [i] );
printf ( "\n") ;
}
3. 调试下列程序,使之具有如下功能:任意输入两个字符串(如:"abc 123"和"china"),并存放在a,b两个数组中。然后把较短的字符串放在a数组,较长的字符串放在b数组。并输出。
行号main()
1 { char a[10],b[10];
2 int c,d,k;
3 scanf("%s",&a);
4 scanf("%s",&b);