【4】 i=0;i<10;i++ 或 i=0;10>i;i++ 或 i=0;i<=9;i+=1 或 i=0;9>=i;i++ 或 i=0;i<10;i+=1 或 i=0;10>i;i+=1 或 i=0;i<=9;i++ 或 i=0;9>=i;i+=1 或 i=0;i<10;++i 或 i=0;10>i;++i 或 i=0;9>=i;++i 或 i=0;i<=9;++i 17)./*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:删除字符串中的指定字符,字符串和要删除的字符均由键盘 输入。
-------------------------------------------------------*/
#include \main() {
char str[80],ch; int i,k=0;
/***********SPACE***********/ gets(________________); ch=getchar();
/***********SPACE***********/ for(i=0;________________;i++) if(str[i]!=ch) {
/***********SPACE***********/ ________________; k++; }
/***********SPACE***********/ ________________; puts(str); }
答案: 【1】 str
【2】 str[i]!='\\0' 或 str[i]!=NULL 或 str[i]!=0 或 str[i]
【3】 str[k]=str[i] 或 *(str+k)=*(str+i) 或 str[k]=*(str+i) 或 *(str+k)=str[i]
【4】 str[k]='\\0' 或 *(str+k)='\\0' 或 str[k]=NULL 或 str[k]=0 或 *(str+k)=0 或 *(str+k)=NULL 18)./*------------------------------------------------------- 【程序填空】
第13页 共88页
---------------------------------------------------------
功能:将一个数组中的元素按逆序存放。
-------------------------------------------------------*/
#define N 7 main () {
static int a[N]={12,9,16,5,7,2,1},k,s; printf(\ for (k=0;k /***********SPACE***********/ for (k=0;k s=a[k];
/***********SPACE***********/ ________________ ;
/***********SPACE***********/ ________________ ; }
printf(\ for (k=0;k /***********SPACE***********/ ________________ (\}
答案:
【1】 k++ 或 k= k + 1 或 k+=1 或 ++k
【2】 a[k]=a[N-k-1] 或 a[k]=a[N-1-k] 或 a[k]=a[6-k] 或 *(a+k)=*(a+N-k-1) 或 *(a+k)=*(a+N-1-k] 或 a[k]=a[-1+N-k] 或 a[k]=a[-1-k+N] 或 a[k]=a[-k-1+N] 或 a[k]=a[-k+N-1] 或 *(a+k)=*(a+N-k-1) 或 a[6-k]=s 【3】 a[N-k-1]=s 或 a[N-1-k]=s 或 a[6-k]=s 或 a[N -k -1]=s 或 *(a +N -k -1)=s 【4】 printf 19)./*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:是将两个字符串连接为一个字符串,不许使用库函数strcat。
-------------------------------------------------------*/
#include \#include \main ( ) {
char str1[80],str2[40];
第14页 共88页
int i,j,k;
gets(str1);gets(str2); puts(str1);puts(str2);
/***********SPACE***********/ ________________; puts(str1); }
JOIN(s1,s2)
char s1[80],s2[40]; {
int i,j;
/***********SPACE***********/ ________________;
/***********SPACE***********/ for (i=0; ________________'\\0';i++) s1[i+j]=s2[i];
/***********SPACE***********/ s1[i+j]= ________________ ; }
答案:
【1】 JOIN(str1,str2)
【2】 j=strlen(s1) 或 for(j=0;s1[j]!='10';j++); 或 for(j=0;s1[j];j++); 【3】 s2[i]!= 或 *(s2 + i)!= 【4】 '\\0' 或 NULL 或 0 20)./*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:求两个非负整数的最大公约数和最小公倍数。
-------------------------------------------------------*/
main() {
int m,n,r,p,gcd,lcm;
scanf(\ if(m /***********SPACE***********/ while(________________ ) {
/***********SPACE***********/ m=n;n=r; ________________;
第15页 共88页
}
/***********SPACE***********/ gcd=________________; lcm=p/gcd;
/***********SPACE***********/
printf(\}
答案:
【1】 r != 0 或 r
【2】 r=m%n 或 r=m-m/n*n 【3】 n
【4】 gcd,lcm 或 n,lcm 21)./*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:将一个字符串中的前N个字符复制到一个字符数组中去, 不许使用strcpy函数。
-------------------------------------------------------*/
main ( ) {
char str1[80],str2[80]; int i,n;
/***********SPACE***********/ gets(________________); scanf(\
/***********SPACE***********/ for (i=0; ________________ ;i++) /***********SPACE***********/ ________________;
/***********SPACE***********/ ________________; printf(\ }
答案: 【1】 str1
【2】 ii 或 i<=n-1 或 n-1>=i
【3】 str2[i]=str1[i] 或 *(str2+i)=*(str1+i) 或 *(str2+i)=str1[i] 或 str2[i]=*(str1+i)
【4】 str2[n]='\\0' 或 str2[i]='\\0' 或 str2[n]=0 或 str2[i]=0 或 *(str2+n)='\\0' 或 *(str2+i)='\\0' 或 *(str+n)=0 或 *(str2+i)=0
第16页 共88页