C语言习题集及答案(6)

2018-12-20 10:12

printf(\ }

5. void main()

{ int a[4][4],i,j,k; for (i=0;i<4;i++) for (j=0;j<4;j++) a[i][j]=i-j; for (i=0;i<4;i++) { for (j=0;j<=i;j++)

printf(\ printf(\ } }

6. #include main() { int i,s;

char s1[100],s2[100];

printf(\ printf(\ i=0;

while ((s1[i]==s2[i])&&(s1[i]!='\\0')) i++;

if ((s1[i]=='\\0')&&(s2[i]=='\\0')) s=0; else s=s1[i]-s2[i]; printf(\ } 输入数据 aid

and

7. void main()

{

char ch[3][5]={ \

25

printf(\}

8. #inlcude

#include void main() { }

三、 填空题

1. 构成数组的各个元素必须具有相同的 。

2. 下面的程序是输出数组中最大元素的下标(p表示最大元素的下标)。

void main() { }

3. 输入20个数,输出他们的平均值,输出与平均值之差的绝对值最小的数组元素。

#include void main() {

26

char str[10][80],c[80]; int i;

for(i=0;i<10;i++)

gets(str[i]); strcpy(c,str[0]); for(i=1;i<10;i++)

if(strlen(c)

strcpy(c,str[i]);

puts(c);

int s[]={1,-3,0,-9,8,5,-20,3}; for(i=0,p=0;i<8;i++)

if(s[i]>s[p]) ;

float a[20],pjz=0,s,t; int i,k; for(i=0;i<20;i++) {

scanf(“%f”,&a[i]); pjz+= ;

}

s=fabs(a[0]-pjz); t=a[0];

for(i=1;i<20;i++)

if( fabs(a[i]-pjz)

t=a[i];

}

4. 输出行、列号之和为3的数组元素。

main()

{ char ss[4][3]={'A','a','f','c','B','d','e','b',

'C','g','f','D'};

int x,y,z;

for (x=0; (1) ;x++)

for (y=0; (2) ;y++)

{ z=x+y;

if ( (3) ) printf(\}

5. 将一个数组中的元素按逆序重新存放。例如原来的顺序为:8,5,7,4,1, 要求改为:

1,4,7,5,8 。 #define N 7 void main()

{ int a[N]={12,9,16,5,7,2,1},k,s;

27

}

printf(\初始数组:\\n\ for (k=0;k

{ s=a[k]; a[k]= (2) ; (3) =s; } printf(\交换后的数组:\\n\ for (k=0; (4) ;k++) printf(\ }

6. 有一行文字,要求删去某一个字符。此行文字和要删去的字符均由键盘输入,要删去

的字符以字符形式输入(如输入 a表示要删去所有的 a字符)。

#include

void main()

{ /*str1表示原来的一行文字,str2表示删除指定字符后的文字*/

char str1[100],str2[100];

char ch;

int i=0,k=0;

printf(“please input an sentence:\\n”); gets(str1); scanf(\

for (i=0; (2) ;i++) if (str1[i]!=ch)

{ str2[ (3) ]=str1[i]; k++; }

str2[ (4) ]='\\0'; printf(\ }

7. 找出10个字符串中的最大者。

#include #include #define N 10 void main()

{ char str[20],s[N][20]; int i;

28

for (i=0;i

strcpy(str,s[0]); for(i=1;i

if ( (2) >0) strcpy(str,s[i]); printf(\ }

8. 某人有四张 3分的邮票和三张 5分的邮票,用这些邮票中的一张或若干张可以得到

多少种不同的邮资?

main()

{ static int a[27]; int i,j,k,s,n=0; for (i=0;i<=4;i++) for (j=0;j<=3;j++) { s= (1) ; for (k=0;a[k];k++)

if (s==a[k]) (2) ; if ( (3) ) { a[k]=s; n++;} }

printf(\ for (k=0; (4) ;k++) printf(\ }

9. 求矩阵的马鞍点。马鞍点即它的值在行中最大,在它所在的列中最小。 #define N 10 #define M 10 main()

{ int i,j,k,m,n,flag1,flag2; int a[N][M],max;

printf(\输入行数 n:\ scanf(\

printf(\输入列数 m:\

29


C语言习题集及答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: