C语言程序设计第二版习题笔记——第一章(1.1-->1.15)

xiaoxiao2024-07-25  39

1.1 编译错误 1.2 编译警告,提示没有这个转义符 1.3 代码如下 #include <stdio.h>void print_table(){ float fahr,celsius; int lower,upper,step; lower=0; upper=300; step=20; while(fahr<=upper){ celsius=(5.0/9.0)*(fahr-32.0); printf("\t%3.0f\t%6.1f\n",fahr,celsius); fahr=fahr+step; }}int main(int argc,char *argv){printf("\t华氏\t摄氏\n");print_table();return 1;} 1.4 稍微改动一下 1.3 的代码既可 1 #include <stdio.h> 2 3 void print_table(){ 4 float fahr,celsius; 5 int lower,upper,step; 6 lower=-20; 7 upper=50; 8 step=5; 9 celsius=lower; 10 while(celsius<=upper){ 11 fahr=celsius*(9.0/5.0)+32.0; 12 printf("\t%3.0f\t%6.1f\n",celsius,fahr); 13 celsius=celsius+step; 14 15 } 16 17 } 18 int main(int argc,char *argv){ 19 printf("\t摄氏\t华氏\n"); 20 print_table(); 21 return 1; 22 } 1.5 对1.3的代码稍微改动 #include <stdio.h>void print_table(){ float fahr,celsius; int lower,upper,step; lower=0; upper=300; step=20; fahr=upper; while(fahr>=lower){ celsius=(5.0/9.0)*(fahr-32.0); printf("\t%3.0f\t%6.1f\n",fahr,celsius); fahr=fahr-step; }}int main(int argc,char *argv){printf("\t华氏\t摄氏\n");print_table();return 1;} 1.6 为1(true) 1.7 为-1 #include <stdio.h>int main(int argc,char *argv){ printf("%d\n",EOF);return 1;} 1.8 #include <stdio.h>int main(int argc,char *argv){ int c,nl; nl=0; while((c=getchar())!=EOF){ if(c=='\n'||c=='\t'||c=='\r'){ nl++; } } printf("%d\n",nl);return 1;} 1.9 " "与' '还是有区别的…… #include <stdio.h>int main(int argc,char *argv){ int c,nl; while((c=getchar())!=EOF){ if(c==' '){ putchar(c); while((c=getchar())==' '){ } } putchar(c); } return 1;} 1.10 #include <stdio.h>int main(int argc,char *argv){ int c,nl; while((c=getchar())!=EOF){ if(c=='\t'){ putchar('\\'); putchar('t'); } else if(c=='\\'){ putchar('\\'); } else if(c=='\b'){ putchar('\b'); } else{ putchar(c); } } return 1;} 1.11 边界条件最容易查出BUG,比如下面的程序如果头为空格 或者 尾为空格都会产生一个比正确大1的统计 #include <stdio.h>int main(int argc,char *argv){ int c,nl; nl=0; while((c=getchar())!=EOF){ if(c==' '){ putchar(c); while((c=getchar())==' '){ } nl++; } } nl++; printf("共有%d个单词\n",nl); return 1;} 1.12 #include <stdio.h>int main(int argc,char *argv){ int c,nl; nl=0; while((c=getchar())!=EOF){ if(c==' '){ putchar(c); while((c=getchar())==' '){ } putchar('\n'); } putchar(c); } return 1;} 1.13 #include <stdio.h>void print_table(int count[20]);int main(int argc,char *argv){ int c,nl; int count[20]; int i=0; for(i=0;i<20;i++){ count[i]=0; } int length=0; while((c=getchar())!=EOF){ if(c==' '){ putchar(c); while((c=getchar())==' '){ } count[length]++; length=0; } length++; } print_table(count); return 1;}void print_table(int count[]){ int i; for(i=0;i<20;i++){ printf("长度为%d的单词出现了:",i); int j=0; for(j=0;j<count[i];j++){ printf("*"); } printf("\n"); } 1.14 忽略 1.15 #include <stdio.h>float cal(float celsius){ return celsius*(9.0/5.0)+32.0;}int main(int argc,char *argv){float celsius;scanf("%f",&celsius);printf("%3.1f\n",cal(celsius));return 1;} 相关资源:敏捷开发V1.0.pptx
转载请注明原文地址: https://www.6miu.com/read-5017117.html

最新回复(0)