例题3-1:
#include<stdio.h> int main(void) { int mynumber=44; int yournumber; printf("Input your number:"); scanf("%d",&yournumber); if(yournumber==mynumber) printf("Ok!you are right! "); else if(yournumber>mynumber) printf("Sorry!your number is bigger than my number! "); else printf("Sorry!your number is smaller than my number! "); return 0; }
运行结果1:
运行结果2:
例题3-2:
#include<stdio.h> int main(void) { int number; printf("Enter a number:"); scanf("%d",&number); if(number%2==0){ printf("The number is even. "); } else{ printf("The number is odd. "); } return 0; }
运行结果1:
运行结果2:
例题3-3:
#include<stdio.h> int main(void) { int count,i,n; double grade,total; printf("Enter n:"); scanf("%d",&n); total=0; count=0; for(i=1;i<=n;i++){ printf("Enter grade #%d:",i); scanf("%lf",&grade); total=total+grade; if(grade<60){ count++; } } printf("Grade average=%.2f ",total/n); printf("Number of failures=%d ",count); return 0; }
例题3-4:
#include<stdio.h> int main(void) { double x,y; printf("Enter x:"); scanf("%lf",&x); if(x<0){ y=0; } else if(x<=15){ y=4*x/3; } else{ y=2.5*x-10.5; } printf("f(%.2f)=%.2f ",x,y); return 0; }
运行结果1:
运行结果2:
运行结果3:
例题3-5:
#include<stdio.h> int main(void) { double value1,value2; char op; printf("Type in an expression:"); scanf("%lf%c%lf",&value1,&op,&value2); if(op =='+') printf("=%.2f ",value1+value2); else if(op =='-') printf("=%.2f ",value1-value2); else if(op =='*') printf("=%.2f ",value1*value2); else if(op =='/') printf("=%.2f ",value1/value2); else printf("Unknown operator "); return 0; }
例题3-7:
#include<stdio.h> int main(void) { int digit,letter,other; char ch; int i; digit=letter=other=0; printf("Enter 10 characters:"); for(i=1;i<=10;i++){ ch =getchar(); if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) letter++; else if (ch>='0'&&ch<='9') digit++; else other++; } printf("letter=%d,digit=%d,other=%d ",letter,digit,other); return 0; }
例题3-8:
#include<stdio.h> int main(void) { int choice,i; double price; for(i=1;i<=5;i++){ printf("[1]Select crisps "); printf("[2]Select popcorn "); printf("[3]Select chocolate "); printf("[4]Select cola "); printf("[0]exit "); printf("Enter choice:"); scanf("%d",&choice); if(choice ==0) break; switch(choice){ case 1:price=3.0;break; case 2:price=2.5;break; case 3:price=4.0;break; case 4:price=3.5;break; default:price=0.0;break; } printf("price=%0.1f ",price); } printf("Thanks "); return 0; }
例题3-9:
#include<stdio.h> int main(void) { double value1,value2; char op; printf("Type in an expression:"); scanf("%lf%c%lf",&value1,&op,&value2); switch(op){ case'+': printf("=%.2f ",value1+value2); break; case'-': printf("=%.2f ",value1-value2); break; case'*': printf("=%.2f ",value1*value2); break; case'/': printf("=%.2f ",value1/value2); break; default: printf("Unknown operator "); break; } return 0; }
例题3-10:
#include<stdio.h> int main(void) { int blank,digit,other; char ch; int i; blank=digit=other=0; printf("Enter 10 characters:"); for(i=1;i<=10;i++){ ch=getchar(); switch(ch){ case' ': case' ': blank++; break; case'0':case'1':case'2':case'3':case'4': case'5':case'6':case'7':case'8':case'9': digit++; break; default: other ++; break; } } printf("blank=%d,digit=%d,other=%d ",blank,digit,other); return 0; }
例题3-11:
#include<stdio.h> int main(void) { double value1,value2; char op; printf("Type in an expression:"); scanf("%lf%c%lf",&value1,&op,&value2); if(op =='+') printf("=%.2f ",value1+value2); else if(op =='-') printf("=%.2f ",value1-value2); else if(op =='*') printf("=%.2f ",value1*value2); else if(op =='/') if(value2!=0) printf("=%.2f ",value1/value2); else printf("Divisor can not be 0! "); else printf("Unknown operator! "); return 0; }
运行结果1:
运行结果2:
终于打完第三章了!!第三章在打的时候不像一二章那样轻松了,除了经常打错词导致不能运行之外,有时候是能运行了,但是运行结果却跟书上的结果不一样……
比如在打3-1的时候,运行出来不管打什么数字都是显示OK!you are right!。检查了几遍以后发现if(yournumber==mynumber)的中间竟然有两个等号T T。改过来后运行结果就变正常了。好吧我不知道为什么要打两个等号- -。求解答!~
当然之后就再也没犯过这个错了~~
还有一些比如说把2打成a的错误就不具体说了。只是觉得很神奇的有些地方打错竟然能够运行,只是运行结果常常是不一样的。
还有个问题就是在3-10中,第一次打完以后发现不能运行,但是检查很多遍都没发现有打错的地方。研究了一下下面的错误提示发现 case' ': 两个单引号之间有个空格。后来加了空格后果然能运行了……有点小郁闷,可能是粗心的问题吧,但是我不懂为什么有些地方多了少了空格和回车没影响,像在这里少个空格竟然就不能运行了……-。-
后面接下来的任务还是有点小艰巨啊- -。加油咯。
以上。