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;
}
分享到:
相关推荐
C语言程序设计第四版何钦铭课后习题及答案.pdf
C语言程序设计第二章习题参考答案,供大家参考
C语言程序设计第二阶段练习(江南大学).docxC语言程序设计第二阶段练习(江南大学).docxC语言程序设计第二阶段练习(江南大学).docxC语言程序设计第二阶段练习(江南大学).docxC语言程序设计第二阶段练习(江南大学)....
C语言程序设计(4) 课件 第10章 字符串.ppt C语言程序设计(4) 课件 第11章 指针和数组.ppt C语言程序设计(4) 课件 第12章 结构体和数据结构基础.ppt C语言程序设计(4) 课件 第13章 文件操作.ppt C语言程序设计(4) ...
C语言程序设计第三版课后习题答案完整版谭浩强清华大学出版社
谭浩强--C语言程序设计(第二版)习题答案
c语言程序设计(第二版) ——谭浩强(完整版)[宣讲].ppt
C语言程序设计答案——清华大学出版社(第二版)整理.pdf
C语言程序设计_张磊_课后习题答案
C语言程序设计(第2版)_何钦铭_高等教育出版社_课后习题答案
C语言程序设计(第四版)习题答案.pdfC语言程序设计(第四版)习题答案.pdfC语言程序设计(第四版)习题答案.pdfC语言程序设计(第四版)习题答案.pdfC语言程序设计(第四版)习题答案.pdfC语言程序设计(第四版)习题答案.pdf
C语言程序设计第二版课后习题详解,轻松学习C语言
《C程序设计语言<第2版新版>习题解答(原书第2版)》是对Brian W.Kernighan和Dennis M.Ritchie所著的《C程序设计语言<第2版新版>习题解答(原书第2版)》所有练习题的解答,是极佳的编程实战辅导书。K&R的著作是C语言...
《单片机C语言程序设计实训100例——基于8051+Proteus仿真》下载.zip《单片机C语言程序设计实训100例——基于8051+Proteus仿真》下载.zip《单片机C语言程序设计实训100例——基于8051+Proteus仿真》下载.zip《单片机...
C语言程序设计第三版——谭浩强习题答案集
C语言程序设计(第三版)笔记-谭浩强.doc
张玉生《C语言程序设计》双色版 教材课后习题答案,仅供参考,大家一定要自己做一遍再校对答案,实验书的答案已经以文章的形式发布了。
谭浩强C语言程序设计第五版详细答案。 该教材有配套教材——《C程序设计(第五版)学习辅导》 《C程序设计(第五版》是由谭浩强编著,2017年清华大学出版社出版的“十二五”普通高等教育本科国家级规划教材、北京市...