作业要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360
#includeint main(void) { int i,n; printf("[1] apple\n"); printf("[2] pear\n"); printf("[3] orange\n"); printf("[4] grape\n"); printf("[0] exit\n"); for(i=1;i<=5;i++){ scanf("%d",&n); if(n==0) break; else{ switch(n){ case 1:printf("price = 3.00\n");break; case 2:printf("price = 2.50\n");break; case 3:printf("price = 4.10\n");break; case 4:printf("price = 10.20\n");break; default :printf("price = 0.00\n");break; } } } return 0; }
第一步:首先列出菜单
第二步:然后使用for循环,i为查询次数,输入n并判断最后的值符合哪种情况
第三步:根据值来输出最后的价格
起初我将输入n值写到了for循环外,导致了循环过程中只走了n=1就结束了,所以4次prince的结果值都为3。
更改了错误后,我将输入n值写入了循环,这样就可以正确的进行for循环,多次输出对应n值得prince了。
#includeint main() { int n; int x=1; //最后一天的桃子数量 int y; //相比较前一天桃子的数量 scanf("%d",&n); while(n>1&&n<=10) { y=(x+1)*2; x=y; n=n-1; } printf("%d\n",y); return 0; }
第一步:首先设出天数n,最后一天的桃子数x=1与前一天桃子的数量y
第二步:输入天数(10>=n>1),进入while循环,根据题意中x与y的关系,得到y
第三步:输出y值得到正确答案
首先,这道题我并没有遇到太明显的问题,只是思路,就是要导出x与y的关系式就可以做出这道题了,所以在这道题上我花费了大量的时间去思考,也学会了从题意入手,就会更快捷的做出来。
#includeint main(void){ int M,N,i,x,isprime=0; int sum=0,count=0; scanf("%d %d",&M,&N); for(i=M;i<=N;i++){ isprime=1; for(x=2;x<=i/2;x++){ if(i%x==0){ isprime=0; break;} } if(isprime==1&&i!=1){ count++; sum=sum+i; } } printf("%d %d",count,sum); return 0; }
第一步:设出int整型变量M,N;
第二步:使用for循环(i<=N),进入内嵌for循环(i<=i/2),然后看是否符合,进入if语句或是结束
第三步:输出M和N并结束
for里的嵌套循环需要注意顺序,否则就会输出错误。例如M=N时,答案就会错误,所以注意一下就会得到正确答案。
评论博客:
https://www.cnblogs.com/flyfyf/p/9960076.html
https://www.cnblogs.com/liuweiliuwei/p/10016885.html
https://www.cnblogs.com/chumengGTRlhz/p/9991154.html