赞
踩
- #include<stdio.h>
- int main(){
- int a,b,c,i,sum;
- c=0;
- a=1;
- sum=0;
- while(a<=1000){
- for (i = 1; i <= a; ++i)
- {
- b=a%i;
- if(b==0){
- c++;
- }
- }
- if(c<=2){
- sum=sum+a;
- }
- a++;
- }
- printf("%d\n",sum);
- return 0;
- }
-
用c语言求1000以内全体素数之和有以下方式或思路:
方式一:
- #include <stdio.h>
-
- int is_prime(int n) {
- if (n < 2) { // 0和1都不是素数
- return 0;
- }
- for (int i = 2; i < n; i++) {
- if (n % i == 0) {
- return 0;
- }
- }
- return 1;
- }
-
- int main() {
- int sum = 0;
- for (int i = 1; i <= 1000; i++) {
- if (is_prime(i)) {
- sum += i;
- }
- }
- printf("1000以内全体素数之和为:%d\n", sum);
- return 0;
- }
方式二:
- #include <stdio.h>
-
- int main() {
- int sum = 0;
- int is_prime[1001]; // 用数组记录每个数是否是素数,1表示是素数,0表示不是
- for (int i = 0; i <= 1000; i++) {
- is_prime[i] = 1;
- }
- is_prime[0] = is_prime[1] = 0; // 0和1都不是素数
- for (int i = 2; i <= 1000; i++) {
- if (is_prime[i]) { // 如果i是素数,将i的倍数全部标记为合数
- for (int j = i * i; j <= 1000; j += i) {
- is_prime[j] = 0;
- }
- }
- }
- for (int i = 1; i <= 1000; i++) {
- if (is_prime[i]) {
- sum += i;
- }
- }
- printf("1000以内全体素数之和为:%d\n", sum);
- return 0;
- }
使用这两种方式计算1000以内的素数时需要注意以下几点:
对于方式一,要注意在遍历每个数时,可以只遍历到其平方根,这样可以减少不必要的计算。
对于方式一,需要使用布尔类型的数组来标记是否为素数,初始时将所有元素都设置为true。如果使用int类型的数组,则要注意赋初值为1。
对于方式一,要注意一些边界条件的处理,比如0和1不是素数,遍历时要从2开始。
对于方式二,要注意一些边界条件的处理,比如0和1不是素数,遍历时要从2开始,而且每次只需要遍历到该数的一半即可。
对于方式二,要注意优化,比如可以判断该数是否为偶数,如果是偶数则直接跳过,因为2是唯一的偶素数,其他偶数都不是素数。
对于方式二,需要使用一个变量来记录素数的和,每找到一个素数就将其加入该变量中。
在写代码时,可以将判断是否为素数的部分单独封装成一个函数,方便调用和重复使用。
对于c语言刚入门的人,建议从简单的程序开始,例如从输出一到十的数字开始,逐渐增加难度,不要急于求成,要慢慢来,理解每个程序的基本逻辑和语法,不断地练习和总结,才能更好地掌握c语言编程。
作为一个C语言初学者,想要快速提高自己的代码水平,可以尝试以下几个方法:
多做练习题:可以从一些在线编程网站或者书籍中找到一些练习题,多写多练,熟悉常见的算法和数据结构,掌握常见的编程思路和技巧。
看优秀的代码:阅读优秀的开源代码或者一些著名的程序库的源代码,可以借鉴其中的设计思路和实现方法,从中学习到好的编程风格和规范。
纠正错误和不良习惯:在写代码过程中会出现很多错误和不良习惯,如语法错误、逻辑错误、不合理的变量命名等等。应该及时发现和纠正这些错误和习惯,提高代码的可读性和可维护性。
多思考多总结:在写代码时不要只关注代码的实现,还要思考问题背后的原理和思路,总结自己的经验和教训,形成自己的思考方式和编程风格。
多参与社区和讨论:可以加入一些编程社区和论坛,参与讨论和交流,向别人请教问题和分享自己的经验,这样可以快速学习和进步。
总之,提高编程水平需要不断地练习和学习,掌握好的编程思路和技巧,形成自己的编程风格和规范。同时,也要注重实践和总结,多参与社区和讨论,不断挑战和提高自己的能力。
以下是一些适合c语言初学者看的书籍:
《C Primer Plus》(中文名:《C Primer Plus》),Stephen Prata 著,这是一本非常适合初学者的书,通俗易懂,循序渐进,适合初学者自学。
《C语言程序设计》(第四版),谭浩强 著,这是一本经典的c语言教材,通俗易懂,且覆盖了c语言的各个方面。
《C语言入门经典》(第五版),Greg Perry 和 Dean Miller 著,这是一本易于入门的书,很好地介绍了c语言的基本概念和语法,配有丰富的实例和练习。
《C语言程序设计教程》(第二版),曹力 著,这是一本较为深入的c语言教程,介绍了一些高级的概念和技术,适合有一定编程基础的初学者。
《C程序设计语言》(第二版),Brian W. Kernighan 和 Dennis M. Ritchie 著,这是一本经典的c语言教材,介绍了c语言的基本概念和语法,适合有一定编程基础的初学者。
当然,这些书只是其中的一部分,选择一本适合自己的书籍来学习,一定要多动手实践,不断练习,加深对c语言的理解。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。