C语言进阶3
2015-03-15 00:35
106 查看
求任意输入两个正整数之间的素数个数及相加的和(未使用函数)
#include <stdio.h> int main() { int m,n; int sum = 0; int cnt = 0; int i; scanf("%d %d",&m,&n); if(m==1){ m=2; } for(i=m;i<=n;i++) { int isPrime = 1; int k; for(k=2;k<i-1;k++) { if(i%k==0) { isPrime = 0; break; } } if(isPrime==1) { sum+=i; cnt++; } } printf("%d %d \n",cnt,sum); return 0; }
缺点:所使用大括号太多,容易匹配混乱,而且太多循环嵌套,容易出错,不如使用函数调用。
#include <stdio.h> int isPrime(int i){ int ret = 1; int k; for(k=2;k<i-1;k++) { if(i%k==0) { ret= 0; break; } } } int main() { int m,n; int sum = 0; int cnt = 0; int i; scanf("%d %d",&m,&n); if(m==1){ m=2; } for(i=m;i<=n;i++) { if(isPrime(i)) { sum+=i; cnt++; } } printf("%d %d \n",cnt,sum); return 0; }
使用函数来做这道题,简化了一些,能使程序更灵活,结构性更好,可读性也变强了
相关文章推荐
- [土狗之路]coursera C语言进阶 习题 寻找山顶
- [土狗之路]coursera C语言进阶 习题 寻找平面上的极大点
- C语言个人进阶
- C语言进阶:整型提升
- [CS@Nets]C语言进阶的一道编程题
- C语言进阶_笔记 第四章 数组
- C语言进阶【暑期特别篇】深入剖析(un)signed及溢出(下)
- [C语言]进阶|图形库
- [土狗之路]coursera上C语言进阶习题 括号匹配
- C语言实现单链表面试题--进阶
- C语言进阶(一)
- C语言及程序设计进阶例程-13 结构体数组及其应用
- C语言day02(Linux进阶)
- C语言06指针进阶
- C语言进阶-第6讲:递归法问题求解(易列写递归方程)
- c语言进阶之道
- c语言进阶总结1
- [土狗之路]coursera C语言进阶习题 二维数组右上左下遍历
- C语言及程序设计进阶例程-14 开发一个电子词典
- C语言进阶-4讲: 外部全局变量和静态全局变量