第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/7/9 13:12:02 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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语言程序设计》课后习题答案(第四版)谭浩强.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5ibh21ih7y8mpoj7ocb09o8y29wt5t00z3w_11.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top