c语言答案(10)

2019-08-03 12:39

int a[10] = {0,1,2,3,4,5,6,7,8,9}, *p = a+3; printf(“%d”, *++p); return 0; }

A.3 B.4 C.a[4]的地址 D.非法 5.对于下列程序,正确的是 void f(int *p) {

*p = 5; }

int main(void)

{

int a, *p; a = 10; p = &a; f(p);

printf(“%d”, (*p)++); return 0;

第75/106页

}

A.5 B.6 C.10 D.11 二、填空题

1. 下列函数在一维数组a中将x插入到下标为i(i>=0)的元素前。如果i>=元素的个数,则x插入到末尾。原有的元素个数存放在指针n所指向的变量中,插入后元素个数加1。请填空。

void insert(double a[ ], int *n, double x, int i) {

int j;

if __ (i<*n)__

for (j=*n-1;__ j>=i_; j--)

__ a[j+1]_ = a[j]; else i = *n;

a[i]=___x___; (*n)++; }

2.下列程序先消除输入字符串的前后空格,再判断是否是“回文”(即字符串正读和倒读都是一样),若是则输出YES,否则输出NO。请填空。

#include

#include int main(void) {

char s[80], ch, *p, *q; int i, j, n; gets(s);

p = ___s___;

while ( *p == ‘ ‘) ___p++___; n = strlen(s); q = ___s+n-1__;

while ( *q == ‘ ‘) ____q--____; while ( __p

_q--____; }

if ( p

printf(“NO\\n”); else

printf(“YES\\n”); return 0; }

3. 下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在main()函数的

第76/106页

max和min变量中。请填空。

void find(int *, int, int *, int *); int main(void) {

int max, min, a[]={5,3,7,9,2,0,4,1,6,8}; printf(“%d,%d\\n”, max, min); return 0; }

void find(int *a, int n, int *max, int *min) {

int i;

*max=*min=0;

for (i = 1; i < n; i++) { } }

4. 写出下列程序的执行结果 0 0 1 2 2 4 0 0 2 3 4 6

#include

int main(void) {

int a[10], b[10], *pa, *pb, i; pa = a; pb = b;

for( i=0; i<3; i++, pa++, pb++) {

*pa = i; *pb = 2*i;

printf(“%d\\t%d\\n”, *pa, *pb); }

pa = &a[0]; pb = &b[0];

for ( i=0; i<3; i++) {

*pa = *pa + i; *pb = *pb + i;

printf(“%d\\t%d\\n”, *pa++, *pb++);

第77/106页

}

return 0; }

三、程序设计题

1. 从键盘输入10个整数,然后根据提示选择输入’A’或者’D’,如果输入为’A’,将这10个数按从小到大的顺序输出;如果输入为’D’,则按从大到小的顺序输出。 解答:

#include

void sortAsc(int a[],int n); void sortDesc(int a[],int n); int main(void) {

int i, n, a[10]; char c; n=10;

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

getchar();

printf(\c=getchar(); if (c=='A') sortAsc(a, n); else if (c=='D') sortDesc(a,n); else {

printf(\exit(1); }

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

void sortAsc(int a[], int n) {

int index, j, k, temp; for(k = 0; k < n-1; k++){ index = k;

for(j = k + 1; j < n; j++)

if(a[j] < a[index]) index = j; temp = a[index]; a[index] = a[k]; a[k] = temp;

第78/106页

}

}

void sortDesc(int a[], int n) {

int index, j, k, temp; for(k = 0; k < n-1; k++){ index = k;

for(j = k + 1; j < n; j++)

if(a[j] > a[index]) index = j; temp = a[index]; a[index] = a[k];

a[k] = temp; } }

2. 输入10个整数存入数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示“Not found”。要求定义和调用函数 search(int list[ ],int n,int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1,参数n代表数组list中元素的数量。 解答:

#include

int main(void) {

int i, n, res, x; int a[10];

int search(int list[], int n, int x); n=10;

for(i = 0; i < n; i++) scanf(\scanf(\

res = search(a, n, x);

if(res != -1)

printf(\else

printf(\}

int search(int list[], int n, int x) {

int i;


c语言答案(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2011华师汉硕语言学基础

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

马上注册会员

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