南昌大学c语言作业答疑系统题目及答案(5)

2019-08-20 19:20

A) ABCD FGH KL B) ABCD EFG IJ M C) EFG JK O D) EFGH IJKL

[D] 教师批改:D

56、下列程序执行后的输出结果是 main() { char arr[2][4];

strcpy(arr,\); strcpy(arr[1],\); arr[0][3]=?&?; printf(\); } A) you&ne B) you C) me D) err

[A] 教师批改:A

57、运行下面的程序,如果从键盘上输入: ab<回车> c <回车> def<回车> 则输出结果为( ) #include #define N 6 main() { char c[N]; int i=0;

for( ;i

for( i=0;i

c d A) ab c d A) abcdef [B] 教师批改:C 58、给出以下定义: char x[ ]=\

char y[ ]={?a?,?b?,?c?,?d?,?e?,?f?,?g?}; 则正确的叙述为 A) 数组X和数组Y等价 B) 数组x和数组Y的长度相同 C) 数组X的长度大于数组Y的长度 D) 数组X的长度小于数组Y的长度 [B] 教师批改:C 59、设有

static char str[ ]=\ 则执行

printf(\(strcpy(str,\))); 后的输出结果为 A) 5 B) 7 C) 12 D) 14

[C] 教师批改:A

60、请选出以下程序段的输出结果 #include main()

{ char sl[10], s2[10], s3[10], s4[10]; scanf(\ puts(s1); puts(s2); puts(s3); puts(s4); }

输入数据如下:(此处代表回车符) aaaa bbbb cccc dddd A) aaaa bbbb cccc cccc B) aaaa bbbb cccc dddd C) aaaa bbbb

dddd dddd D) aaaa bbbb cccc dddd eeee

[D] 教师批改:A

61、以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。 main()

{ int i,a[20],sum,count; sum=count=0;

for(i=0;i<20;i++) scanf(\【1】 ); fro(i=0;i<20;i++) { if(a>0) { count++; sum+= 【2】 ; } }

printf(\); 教师批改:【1】&a[i] 【2】a[i]

62、若已定义:int a[10], i;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。 fun( int a[ ]) { int i;

for(i=1; i<=10; i++) 【1】=i; for(i=0; i<5; i++) 【2】=a[i]; }

教师批改:【1】a[i-1] 【2】a[9-i] 63、以下程序的输出结果是 【 】 。 main()

{ int arr[ ]={30,25,20,15,10,5}, *p=arr; p++;

printf(“%d\\n”,*(p+3)); }

教师批改:10

64、若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是【 】。

int w[10]={23,54,10,33,47,98,72,80,61}, *p=w; 教师批改:p[5]

65、下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推。请填空。 fun(int x,int b[]) { int k=0,r;

do

{ r=x% 【1】; b[k++]=r;

x/=【2】; } while(x); } 教师批改:【1】2 【2】2

66、下面的findmax函数返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空。 findmax( int s[], int t) { int k, p;

for( p=0, k=p; ps[k]) 【 】 。 return k; }

教师批改:k=p

67、以下程序统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志,请填空。 #include #include main( )

{ int num[26],i; char c; for(i=0; i<26; i++) num[i]=0;

while( 【1】 !=?#?) /*统计从终端输入的大写字母个数*/

if( isupper(c)) num[c-65]+=1;

for(i=0; i<26; i++) /*输出大写字母和该字母的个数*/

if(num[i]) printf(\【2】 , num[i]); }

教师批改:【1】(c=getchar()) 【2】+65 或 +?A?

68、以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空。 #define N 3 #define M 4

void LineMax(int x[N][M]) { int i,j,p;

for(i=0; i

for(j=1; j

printf(\【2】); } } main( )

{ int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1}; 【3】 }

教师批改:【1】sp=j 【2】cx[i][p] 【3】LineMax(x)

69、设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【 】。要求形参名为b。 main( )

{ double s[10][22]; int n; ┆ ┆ fun(s); ┆ }

教师批改:void fun(double b[][22])或 void fun(double b[0][22])或 void fun(double (*b)[22]) 70、阅读下列程序: #include main()

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

static int array[3][3]={{100,200,300}, {28,72,-30}, {-850,2,6} };

m=array[0][0]; for (i=0; i<3; i++) for (j=0; j<3; i++) if (array[i][j]

{ m=array[i][j]; row=i; column=j;} printf(\); }

上述程序的输出结果是 【 】 。 教师批改:-850,2,0

71、以下程序运行后的输出结果是【 】 #include \ main() {

char ch[]=\ for(i=0;i<3;i++) strcpy(x[i],ch); for(i=0;i<3;i++) printf(\); printf(\); }

教师批改:abcbcc

72、以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。 #include #include main()

{ char s[80], d[80]; int i, j; gets(s);

for(i=j=0; s[i]!=?\\0?; i++)

if( 【 】 ) { d[j]=s[i]; j++;} d[j]=?\\0?; puts(d); }

教师批改:s[i]>=?0? && s[i]< =?9? 73、以下程序的输出结果是【 】 。 main()

{ char s[]=\ s[3]=?\\0?; printf(\); }

教师批改:abc

74、以下程序运行后的输出结果是 【 】 。 main()

{ char s[ ]=“9876”,*p;

for ( p=s ; p

教师批改:9876 876

75、若有定义语句: char s[100],d[100]; int j=0, i=0;,且s中已赋字符串,请填空以实现字符串拷贝。(注:不得使用逗号表达式)

while([i]){ d[j]= 【 】;j++;} d[j]=0; 教师批改:s[i++]

76、下列程序段的输出结果是 【 】 。 main()

{ char b[]=”Hello,you”; b[5]=0;

printf(“%s \\n”, b ); }

教师批改:Hello

77、下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。请填空。 #include #include main()

{ char a[]=\ int i, j, k; k=strlen(a); for(i=0; i<=k-2; i+=2) for(j=i+2; j<=k; 【1】) if(【2】)

{ t=a[i]; a[i]=a[j]; a[j]=t; } puts(a); printf(\); }

教师批改:【1】j+=2 【2】a[i]>a[j]

78、下列程序中字符串中各单词之间有一个空格,则程序的输出结果是【 】 。 #include main( )

{ char strl[]=\, *p1=strl; strcpy(strl+strlen(strl)/2,\); printf(\,pl); }

教师批改:How des she

79、若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是【 】 : . char a[10],b;

scanf(\); : .

教师批改:a=1234 b=5 A或a=1234b=5

80、函数fun的功能是:使一个字符串按逆序存放,请填空 void fun (char str[]) { char m; int i,j;

for(i=0,j=strlen(str);i<【1】;i++,j--) { m=str[i]; str[i]=【2】; str[j-1]=m; }

printf(\); }

教师批改:【1】strlen(str )/2 【2】str[j-1]或*(str+j-1) 81、以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空。 #include\ #include\ main() { char str[81],*sptr; int i;

for(i=0;i<80;i++) { str[i]=getchar(); if(str[i]==?\\n?) break; }

str[i]=【1】; sptr=str;

while(*sptr) putchar(*sptr【2】); }

教师批改:【1】?\\0? 或0 【2】++

82、以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例

如:输入的两个字符串分别为abcdef和abceef,则输出为-1。请填空。 #include main()

{ char str[100],str2[100],c; int i,s;

printf(\); gest(str1); printf(\); gest(str2); i=0;

while((strl[i]==str2[i]&&(str1[i]!=【1】)) i++; s=【2】; printf(\); }

教师批改:【1】?\\0?或0 【2】strl[i]-str2[i]

83、以下程序可以把从键盘上输入的十进制数(long型)以二到十六进制形式输出,请填空。 #include. main()

{ char b[16]={?0?,?1?,?2?,?3?,?4?,?5?,?6?,?7?,?8?,?9?,?A?,?B?,?C?

,?D?,?E?,?F?}; int c[64],d,i=0,base; long n;

printf(\); scanf(\); printf(\); scanf(\); do

{ c[i]=【1】; i++; n=n/base; } while(n!=0);

printf(\); for(--i;i>=0;--i) { d=c[i];

printf(\【2】; } }

教师批改:【1】nose 【2】[d]

84、(36) 已知函数isalpha(ch)的功能是判断自变量ch是否是字母,若是,函数值为1,否则为0。下面程序的输出是 【 】 。 #include #include void fun4( char str[]) { int i,j;

for(i=0, j=0; str[i]; i++)

if(isalpha(str[i])) str[j++]=str[i]; str[j]=?\\0?;

} main()

{ char ss[80]=\ fun4(ss); printf( ?%s\\n\); }

教师批改:It is

85、下面invert函数的功能是将一个字符串str的内容颠倒过来。请填空。 #include void invert(char str[]) { int i,j, 【1】 ;

for(i=0,j=strlen(str) 【2】 ; i

教师批改:【1】k 【2】-1 86、设有下列程序: #include #include main() { int i;

char str[10], temp[10]; gets(temp); for (i=0; i<4; i++) { gets(str);

if (strcmp(temp,str)<0) strcpy(temp,str); }

printf(\); }

上述程序运行后,如果从键盘上输入(在此代表回车符): C++ BASIC QuickC Ada Pascal

则程序的输出结果是 【 】 。 教师批改:QuickC

87、以下程序运行后的输出结果是 【 】 。 main()

{ int p[7]={11,13,14,15,16,17,18}; int i=0,j=0;

while(i<7 && p[i]%2==1) j+=p[i++]; printf(\); }

教师批改:24

88、以下程序运行后的输出结果是 【 】 main()

{ int i, n[]={0,0,0,0,0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf(“%d”,n[i]); } }

教师批改:1 3 7 15

89、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。 main( )

{ float x[1000], sum=0.0, ave, a; int n=0, i;

printf(\:\\n\);scanf(\,&a); while(a>=0.0&& n<1000)

{ sum+ 【1】 ; x[n]= 【2】 ; n++; scanf(\,&a); }

ave= 【3】 ; printf(\:\\n\); printf(\,ave); for (I=0;I

if(【4】) printf (“%f\\n”,x[I]); }

教师批改:【1】=a 【2】a 【3】sum/n 【4】x[i]

{ fun1( ); fun2( a ); printf(\);} fun1( ) { int k, t=0;

for (k=0; k<MAX; K++,t++) a[k]=t+t; }

fun2(int b[]) { int k;

for(k=0; k<NAX; k++) printf(\(b+K)); } 教师批改:024

91、下面程序的输出是 【 】 。 main( )

{ int arr[10],i,k=0; for( i=0; i<10; i++) arr[i]=i;

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


南昌大学c语言作业答疑系统题目及答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:苏教版小学语文第十二册各课作业设计

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

马上注册会员

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