2.函數swap(int x, int y)可完成對x和y值的交換。在運行調用函數中的如下語句後,a[0]和a[1]的值分別為_1,2___,原因是 沒有賦地址原值不變___。
a[0]=1; a[1]=2; swap(a[0],a[1]);
3.若有定義 int a [3][4]={{1,2}, {0},{ 4,6,78,10}}; 則初始化後a[1][2]得到的初值是0____,a[2][1]得到的初值是_6___。
4.函數delete_string( char s[ ],char c)將字符串s中所出現的與變量c相同的字符刪除,請填空。
delete_string(char *s, char ch) /*定義外部函delete_string*/
{int i,j;
for (i=j=0;*(s+i)!='\0';i++)
if (*(s+i)!=ch) ____;
*(s+j)='\0';
}
5.下面程序段將輸出 computer,請填空。
int i, j=0;
char c[ ]=”it’s a computer”;
for (i=0;i<strlen(c)___;i++)
{if(i>9)_; printf(“%c”,c[j];)
6. 如下程序段的輸出結果是 123
#include <stdio.h>
main()
{ char str[]="1a2b3c" ; int i;
for (i=0; str[i]!='\0';i++)
if (str[i]>='0'&&str[i]<='9') printf("%c",str[i]);
}
7.如下程序段的輸出結果是_EFGH IJKL
#include <stdio.h>
main()
{ char str[][10]={"ABCD","EFGH","IJKL","MNOP"},k;
for (k=1; k<3;k++)
printf("%s\n",str[k]);
}
8.如下程序段的輸出結果是__n1=1 n2=6
#include <stdio.h>
main()
{ int a[]={1,2,3,4,5,6}, *p,i;
p=a;
*(p+3)+=2;
printf("n1=%d, n2=%d\n",*p, *(p+3));
}
9.閱讀下面函數func,其功能是計算用戶輸入的整數num的各位數字之積。填空使程序完整。
#include <stdio.h>
long func(long num)
{ long k=1;
if (num<0) num=-num;
do {
k*=num%10;
num/=10;
} while (num!=0);
return(k);
}
main()
{ long n;
printf("Please input a number");
scanf("%ld",&n);
printf("Result is : %ld", func(n));
getch();
}
10.以下程序的輸出結果是_120。
#include <stdio.h>
fun(int b[], int n)
{ int i, r=1;
for (i=0; i<=n; i++) r=r*b[i];
return(r);
}
main()
{ int x, a[]={2,3,4,5,6,7,8,9};
x=fun(a,3);
printf("%d\n",x);
}
11.下面程序段的輸出結果是__F0_。
#include <stdio.h>
main()
{ char *p[]={"LOOK", "OUT","A","FM"};
int i;
for (i=3; i>=0; i--, i--)
printf("%c",*p[i]);
}
12.建立壹個磁盤文件,文件名和內容由鍵盤輸入。
#include <stdio.h>
#include <stdlib.h>
void main ()
{ char ch, fname[20];
FILE *fp;
scanf("%s",fname);
if ((fp=fopen(fname,"w"))==NULL)
exit(0);
ch=getchar();
while (ch!='*')
{ fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
}
13.定義壹個含有30個整型元素的數組,按順序分別賦予從2開始的偶數,然後按順序每5個數求出壹個平均值,放在另壹個數組中並輸出。
14.從鍵盤輸入壹個字符串和壹個字符,把此字符串中偶數位的字符變為輸入的字符,要求用函數實現字符串偶數位字符的改變,在主函數中輸入字符串和字符,並輸出偶數位改變的字符串。