C课后习题参考答案(5)

2019-04-17 00:22

return(k); }

main()

{ char s[80];

printf(“Please input a string:”); gets(s);

printf(“\\nThe string length is : %d”,str_len(s)); }

4、参考答案: #include #include void ex(int k,char str[]) {int a,b,c,d;

a=k/1000; b=k/100; c=k/10; d=k; str[0]='0'+a; str[1]='0'+b; str[2]='0'+c; str[3]='0'+d; }

main() {int i,k;

char s[4]; do{

printf(\请输入一个4位整数:\

scanf(\ ex(k,s);

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

5、参考答案: #include

void zhuanzhi(int a[][3]) {int i,j,t;

for(i=0;i<3;i++) for(j=i+1;j<3;j++) {t=a[i][j];

a[i][j]=a[j][i]; a[j][i]=t; } }

main()

{int b[3][3],i,j; for(i=0;i<3;i++) for(j=0;j<3;j++)

scanf(\ zhuanzhi(b);

习题参考答案

315

习题参考答案

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

printf(\ printf(\ } }

6、参考答案:

#include void duihuan(int a[]) {int max,min,i,j,k,temp; max=min=a[0]; j=k=0; for(i=0;i<10;i++)

{if(a[i]>max) { max=a[i]; j=i; } if(a[i]

if(j!=0) {temp=a[j]; a[j]=a[9]; a[9]=temp; } if(k!=9) {temp=a[0]; a[0]=a[k]; a[k]=temp; } }

void input(int a[]) {int i;

for(i=0;i<10;i++) scanf(\}

void output(int a[]) {int i;

printf(\

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

main()

{int b[10]; input(b); duihuan(b); output(b); }

7、参考答案: #include #define N 10 void sort(char s[]) {int i,j; char t;

for(i=1;i

for(j=0; (js[j+1])

{t=s[j]; s[j]=s[j+1]; s[j+1]=t; }

316

习题参考答案

}

main()

{char str[80];

printf(\请输入一个字符串:\ gets(str); sort(str);

printf(\排序后的字符串是: %s\ }

8、参考答案: #include

int letter,digit,space,other; void func(char s[]) {int i;

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

{if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') letter++; else if(s[i]==' ') space++;

else if(s[i]>='0'&&s[i]<='9') digit++; else other++; } }

main()

{char str[80];

printf(\ gets(str);

letter=0; digit=0; space=0; other=0; func(str);

printf(\,Space is %d,Digit is %d,Other is %d,\ }

9、参考答案: #include void convert(int n) {int i;

if((i=n/10)!=0) convert(i); putchar(n+'0'); }

main()

{ int number;

printf(\ scanf(\ printf(\ if(number<0) { putchar('-');

number=-number;

317

习题参考答案

}

convert(number); }

习 题 9

一、选择题

1、D 2、C 3、A 4、B 二、阅读程序题 1、575

2、第一行是 1104 ,第二行是 3380 ,第三行是 0550 三、完善程序题

1、 typedef i pu[k].grade< pu[j].grade 2、 pk->next pj->d pn!=head return k 四、改错题

注:错误的地方加上了下划线,正确的作为注释写在同一行 1、

#include #include struct T{

char name[20], num[20]; };

struct T stu[5]={”cai”,”2106”,”li”,”4512”,”wang”,”6723”,”zhang”,”5129”};

int search(struct T items[], char name[], int n) { int low=0,high=n-1,mid;

while(low

if(items[mid].name=name) /* strcmp(items[mid].name,name)= =0 */

return mid;

else if(items[mid].name

low=mid+1; else high=mid-1; } return -1; }

int main(void) { char name[30];int i;

318

习题参考答案

printf(“input the name:”);scanf(“%s”,name);

i=search(stu[],name,4); /* stu */ if(i!=-1) printf(“name:%s num:%s\\n”,sut[i].name,stu[i].num); else printf(“\\nNot found! \\n”); } 2、

#include #include

struct T{ char name[20], num[20]; struct T * next; }; struct T stu[5]={”cang”,”6723”,NULL,”cai”,”2106”,NULL,

”zhang”,”5129”,NULL,”zhang”,”4512”,NULL,”an”,”6868”,NULL}; void MakeChain(struct T items[], int n) { int k;

for(k=0;k

items[k]->next=&items[k+1]; /* items[k].next */ }

stuct T *Search(struct T items[], char who[20])

{ struct T *temp=items[0]; /* items */ while(temp)

if(strcmp(temp->name, who)==0) break;

else temp=temp->next;

return items; /* temp */ }

void main(void)

{ char name[20]; struct T *loc; scanf(“%s”, name); MakeChain(stu,5);

loc=Search(name,stu); /* Search(stu,name) */ if(loc) printf(“name:%s num:%s\\n”, loc->name, loc->num); else printf(“Not found! \\n”); }

五、编程题 1、

struct {int num; float emid;

319


C课后习题参考答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高压电动机技术规范书

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

马上注册会员

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