C语言程序设计习题(7)

2019-08-30 22:30

printf(\ printf(\}

[9.16] 以下程序的输出结果是

A) 60 B) 68 C) 99 D) 108

main()

{ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int (*p)[4]=a,i,j,k=0; for(i=0;i<3;i++) for(j=0;j<2;j++) k+=*(*(p+i)+j); printf(\}

[9.17] 以下程序的输出结果是

A) 1,5,9, B) 1,4,7, C) 3,5,7, D) 3,6,9,

main()

{ int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf(\}

[9.18] 若有定义语句int (*p)[M]; 其中的标识符是 A)M个指向整型变量的指针

B)指向M个整型变量的函数指针

C)一个指向具有M个整型元素的一维数组指针

D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量

二、填空题

[9.19] 若有以下定义: double w[10];

则数组元素下标的上限是,下限是。

[9.20] 以下程序的输出结果是 。

main()

{ int a[]={2,4,6},*ptr=&a[0],x=8,y,z; for(y=0;y<3;y++)

z=(*(prt+y)

[9.21] 以下程序的输出结果是。

main()

{ int arr[10],i,k=0;

for(i=0;i<10;i++) arr[i]=i;

for(i=0;i<4;i++) k+=arr[i]+i; printf(\}

[9.22] 以下程序的输出结果是.

#define N 5

fun(char *s,char a,int n) { int j; *s=a;j=n;

while(a

{ char s[N+1]; int k,p;

for(k=1;k<=N;k++) s[k]='A'+k+1; printf(\}

[9.23] 若输入3个整数3、2、1,则以下程序的输出结果是。

void sub(int n,int uu[]) { int t;

t=uu[n--]; t+=3*uu[n]; n++; if(t>=10)

{ uu[n++]=t/10; uu[n]=t; } else uu[n]=t; } main()

{ int i,n,aa[10]={0};

scanf(\ for(i=1;i

for(i=0;i<=n;i++) printf(\ printf(\}

[9.24] 以下程序的输出结果是 .

main()

{ int i,j,row,col,m;

int arr[3][3]={{100,200,300},{28,72,-30},{-850,2,6}}; m=arr[0][0]; for(i=0;i<3;i++) for(j=0;j<3;j++) if(arr[i][j]

{m=arr[i][j]; row=i; col=j;} printf(\}

[9.25] 以下findmax返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空。

findmax(int s[],int t)

{ int k,p;

for(p=0,k=p;ps[k]) ; return_; }

[9.26] 以下程序统计从终端入的字符中每个大写字母的个数,中统计字母的个数,其它依次类推。用#号结束输入,请填空。

#include \#include \main()

{ int num[26]={0},i; char c; while(_!=\

if(isupper(c)) num[_]+=1; for(i=0;i<26;i++)

if(num[i]) printf(\}

三、编程题

[9.27] 输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数。用下标为0元素统计字符“1”的个数,下标为1的元素统计字符“2”的个数,...。

[9.28] 编写函数,对具有效期0个整数的数组进行如下操作:从第n个元素开始直到最后一个元素,依次向前移动一个位置。输出移动后的结果。

[9.29] 编写函数把数组中所有奇数放在另一个数组中返回。

[9.30] 编写函数对字符数组中的输入字母,按由大到小的字母顺序进行排序。

[9.31] 输入若干有序数放在数组中。然后输入一个数,插入到此有序数列中,插入后,数组中的数仍然有序。请对以下三种情况运行你的程序,以便验证你的程序是否下确。 (1)插在最前 (2)插在最后 (3)插在中间

[9.32] 编写函数把任意十进制下整数转换成二进制数。提示:把十进制数不断被2除余数放在一个一维数组中,直到商数为零。在主函数中进行输出,要求不得按逆序输出。

[9.33] 编写函数调用随机函数产生0到19之间的随机数,在数组中存入15个互不重复的整数。要求在主函数中输出结果。若已定义为类型,调用随机函数步骤如下: #include \ . .

x=rand() /*产生0到19的随机数*/

[9.34] 编写程序求任意方阵每行、每列、两对角线一元素之和。

[9.35] 编写程序求两个矩阵的和。

[9.36] 编写程序打印出以下形式的乘法九九表。

** A MULTIPCATION TABLE **

(1) (2) (3) (4) (5) (6) (7) (8) (9) (1) 1 2 3 4 5 6 7 8 9 (2) 2 4 6 8 10 12 14 16 18 (3) 3 6 9 12 15 18 21 24 27 (4) 4 8 12 16 20 24 28 32 36 (5) 5 10 15 20 25 30 35 40 45 (6) 6 12 18 24 30 36 42 48 54 (7) 7 14 21 28 35 42 49 56 64 (8) 8 16 24 32 40 48 56 64 72 (9) 9 18 27 36 45 54 63 72 81

[9.37] 调用随机函数为5*4的矩阵置100以内的整数,输出该矩阵,求出每行元素之和,并把和值最大的那一行与第一行上的元素对调。若已定义x为int类型,调用随机函数步骤如下:

#include \ . .

x=rand()0 /*产生0到100的随机数*/

[9.38] 调用随机函数为55的矩阵置100以内的整数,输出该矩阵,然后逆置该矩阵。即将第一列的元素放在第一行上、第二列的元素放在第二行上、其它依次类推。

第十章 字符串

一.选择题

[10.1] 以下能正确进行字符串赋值、赋初值的语句组是

A) char s[5]={'a','e','i','o','u'}; B) char *s; s=\C) char s[5]=\ D) char s[5]; s=\[10.2] 以下程序的输出结果是

A) 68 B) 0 C) 字符D的地址 D)不能确定的值

char str[ ]=\ printf (\

[10.3] 以下程序段的输出结果是

A) 11 B) 10 C) 9 D) 8

printf (\

[10.4] 当运行以下程序时输入OPEN THE DOOR(此处代表Enter 键), 则输出的结果是

A) opEN tHE dOOR B) open the door C) OPEN THE DOOR D) Open The Door

#include \ char fun ( char *c )

{ if ( *c < = 'Z' && *c > = 'A') *c - ='A'-'a'; return *c; } main( )

{ char s[81] , *p=s; gets(s); while(*p) { *p=fun(p); putchar(*p); p++ } putchar ( “ \\n “ ); }

[10.5] 以下程序的输出结果是

A) GFEDCBA B) AGADAGA C) AGAAGAG D) GAGGAGA

#include \

#include \

void fun ( char *w, int m ) { char s, *p1 , *p2 ; p1=w; p2=w+m-1; while(p1

{ s=*p1++; *p1=*p2-- *p2=s; } }


C语言程序设计习题(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:GIS组合电器概述

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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