好文档 - 专业文书写作范文服务资料分享网站

(完整word版)《C语言程序设计》课后习题答案(第四版)谭浩强

天下 分享 时间: 加入收藏 我要投稿 点赞

c=getchar();

if (c=='N'||c=='n') flag1=0; else

{flag=0; i=0; printf(\ } } }

return 0; }

int htoi(char s[]) { int i,n; n=0;

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

{if (s[i]>='0'&& s[i]<='9') n=n*16+s[i]-'0';

if (s[i]>='a' && s[i]<='f') n=n*16+s[i]-'a'+10; if (s[i]>='A' && s[i]<='F') n=n*16+s[i]-'A'+10; }

return(n); } 7-17

#include int main()

{ void convert(int n); int number;

printf(\ scanf(\ printf(\ if (number<0)

{putchar('-');putchar(' '); /* 先输出一个‘-’号和空格 */ number=-number; }

convert(number); printf(\ return 0; }

void convert(int n) { int i;

if ((i=n/10)!=0) convert(i);

putchar(n+'0'); putchar(32); } 7-18

#include int main()

{int sum_day(int month,int day); int leap(int year);

int year,month,day,days;

printf(\

scanf(\ printf(\

days=sum_day(month,day); /* 调用函数sum_day */ if(leap(year)&&month>=3) /* 调用函数leap */ days=days+1;

printf(\ return 0; }

int sum_day(int month,int day) /* 函数sum_day:计算日期 */ {int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int i; for (i=1;i

day+=day_tab[i]; /* 累加所在月之前天数 */ return(day);

} /* 函数leap:判断是否为闰年 */

int leap(int year) {int leap;

leap=year%4==0&&year0!=0||year@0==0; return(leap); }

第8章善于利用指针220 8.1指针是什么220 8.2指针变量222

8.2.1使用指针变量的例子222

8.2.2怎样定义指针变量223 8.2.3怎样引用指针变量224 8.2.4指针变量作为函数参数226 8.3通过指针引用数组230 8.3.1数组元素的指针230

8.3.2在引用数组元素时指针的运算231 8.3.3通过指针引用数组元素233 8.3.4用数组名作函数参数237 8.3.5通过指针引用多维数组245 8.4通过指针引用字符串255 8.4.1字符串的引用方式 255 8.4.2字符指针作函数参数259

8.4.3使用字符指针变量和字符数组的比较263 8.5指向函数的指针266 8.5.1什么是函数指针266

8.5.2用函数指针变量调用函数266

8.5.3怎样定义和使用指向函数的指针变量268 8.5.4用指向函数的指针作函数参数270 8.6返回指针值的函数274 8.7指针数组和多重指针277 8.7.1什么是指针数组 277 8.7.2指向指针数据的指针280

8.7.3指针数组作main函数的形参282 8.8动态内存分配与指向它的指针变量285 8.8.1什么是内存的动态分配285 8.8.2怎样建立内存的动态分配285 8.8.3void指针类型 287 8.9有关指针的小结288 习题291 8-1

#include int main()

{ void swap(int *p1,int *p2); int n1,n2,n3; int *p1,*p2,*p3;

printf(\ scanf(\ p1=&n1; p2=&n2; p3=&n3;

if(n1>n2) swap(p1,p2); if(n1>n3) swap(p1,p3); if(n2>n3) swap(p2,p3);

printf(\ return 0; }

void swap(int *p1,int *p2) {int p;

p=*p1; *p1=*p2; *p2=p; }

#include #include int main()

{void swap(char *,char *);

char str1[20],str2[20],str3[20]; printf(\ gets(str1); gets(str2); gets(str3);

if(strcmp(str1,str2)>0) swap(str1,str2); if(strcmp(str1,str3)>0) swap(str1,str3); if(strcmp(str2,str3)>0) swap(str2,str3); printf(\

printf(\ return 0; }

void swap(char *p1,char *p2) {char p[20];

strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p); } 8-3

#include int main()

{ void input(int *);

void max_min_value(int *); void output(int *); int number[10];

input(number); max_min_value(number); output(number); return 0;

}

void input(int *number) {int i;

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

scanf(\ }

void max_min_value(int *number) { int *max,*min,*p,temp; max=min=number;

for (p=number+1;p*max) max=p; else if (*p<*min) min=p;

temp=number[0];number[0]=*min;*min=temp; if(max==number) max=min;

temp=number[9];number[9]=*max;*max=temp; }

void output(int *number) {int *p;

printf(\ \

for (p=number;p

#include int main()

{void move(int [20],int,int); int number[20],n,m,i;

printf(\ scanf(\

printf(\ for (i=0;i

scanf(\

printf(\ scanf(\ move(number,n,m);

(完整word版)《C语言程序设计》课后习题答案(第四版)谭浩强

c=getchar();if(c=='N'||c=='n')flag1=0;else{flag=0;i=0;printf(\}}}return0;}inthtoi(char
推荐度:
点击下载文档文档为doc格式
5ibh21ih7y8mpoj7ocb09o8y29wt5t00z3w
领取福利

微信扫码领取福利

微信扫码分享