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
{ 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 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 { 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 {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 { 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 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 {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); 请浏览后下载,资料供参考,期待您的好评与关注!