资源描述:
《C语言循环例题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.//输出a和b之间的所有素数,10个素数为一行输出#include#include#includeintpanDuanSuShu(intx)//判断x是否是素数{inti,m,flag;//flag为1表示是素数,flag为0表示不是素数m=(int)sqrt(x);if(x==2){flag=1;}else{for(i=2;i<=m;i++){if(x%i==0){flag=0;break;}}if(i>m){flag=1;}}returnflag;}intshuChuSuShu(inta,intb){in
2、ti,k=0;//i是循环变量,k表示已经输出了k个素数for(i=a;i<=b;i++){if(panDuanSuShu(i)==1){printf("%6d",i);k++;if(k%10==0){printf("");}}}printf("");returnk;}intmain(){inta,b,t;printf("输入a和b,以便求a和b之间的所有素数");scanf("%d%d",&a,&b);while(a<2
3、
4、b<2){printf("重新输入n和m:");scanf("%d%d",&a,&b);}if(a>b){t=a;a=b;b=t;
5、}printf("%d和%d之间共有%d个素数",a,b,shuChuSuShu(a,b));printf("");return0;}2.//用户输入2个数,输出这2个数之间所有的超素数//超素数(质数)的概念:7193是素数,719是素数,71是素数,7是素数,则7193是素数#include#include#includeintisPrime(intn)//判断某数是否是素数{inti,f,m=(int)sqrt(n);if(n==1)f=0;else{for(i=2;i<=m;i++){if(n%i
6、==0)break;}if(i>m)f=1;elsef=0;}returnf;}intsupperPrime(intn)//判断某数是否是超素数{intt=n;while(t>0){if(isPrime(t)==1)t=t/10;elsebreak;}if(t==0)return1;elsereturn0;}voidprintSupperPrime(inta,intb)//输出a到b之间所有的超素数{inti,m=0;for(i=a;i<=b;i++){if(supperPrime(i)){printf("%8d",i);m++;if(m%5==0)printf("
7、");}}printf("");}intmain(){inta,b,t;printf("inputa,b:");scanf("%d%d",&a,&b);while(a<2
8、
9、b<2){printf("inputa,b:");scanf("%d%d",&a,&b);}if(a>b){t=a;a=b;b=t;}printSupperPrime(a,b);printf("");//system("pause");return0;}3.//满足a*a+b*b==c*c的a,b,c三个数,称为勾股数//编程输出100以内的所有勾股数#include10、>#includeintgouGuShu(){intx=0;for(inta=1;a<=100;a++)for(intb=a;b<=100;b++)for(intc=b;c<=100;c++)if(a*a+b*b==c*c){if(x%4==0)printf("");printf("%4d%4d%4d",a,b,c);x++;}returnx;}intmain(){printf("100以内的勾股数共有:%d个。",gouGuShu());//system("pause");return0;}4.//有一堆桃子,第一天猴子吃掉桃子
11、的一半又多吃1个,第二天猴子再吃掉桃子的一半又多吃一个//第10天只剩下1个桃子,问最初有多少个桃子#include#includeinthouZiChiTaoZi(){intday=10,x1,x2=1;while(day>1){x1=(x2+1)*2;x2=x1;day--;}returnx1;}intmain(){printf("最初桃子有%d个",houZiChiTaoZi());//system("pause");return0;}5.//由用户输入一个年份,再输入该年的元旦是星期几,再输入一个月份,则打印输出