5.9判断素数从键盘上输入一个大于或等于2的正整数n,判断它是否是素数。n从键盘输入。提示:素数定义:只能被1或它本身整除的正整数为素数,例如:2,3,5,7,11,13且1不是素数。解题思路:1、让n被i整除(i的值从2变到n-1)2、如果n能被2~(n-1)之中任何一个整数整除,则表示n肯定不是素数,不必再继续被后面的整数除,因此,可以提前结束循环。注意:此时i的值必然小于n。1.#includestdio.h2.intmain()3.{inta,i;4.scanf(%d,&a);5.for(i=2;i=a;i++)6.{if(a%i==0)7.break;8.}9.if(ia)10.printf(不是素数\n);11.elseprintf(是素数\n);12.return0;13.}5.7统计个数n从键盘输入,统计在[1,n]中,有多少个是7的倍数或末尾是7的数。例如输入20,在[1,20]中满足条件的数(7,14,17)共有3个。1.#includestdio.h2.intmain()3.{inta,b=0,i;4.scanf(%d,&a);5.for(i=1;i=a;i++)6.{if(i%7==0||i%10==7)b=b+1;7.}8.printf(%d个\n,b);9.return0;10.}5.12老鼠咬坏的账本老鼠咬坏了帐本,式中符号□是被老鼠咬掉的地方。要恢复下面的等式,应在2个□中分别填上一个数字,编程输出这2个数,2数间用逗号隔开,如3,5。3□×6237=□3×3564提示:用穷举法1.#includestdio.h2.intmain()3.{inti,a;4.for(i=0;i=9;i++)5.{for(a=1;a=9;a++)6.{if((30+i)*6237==(a*10+3)*3564)7.{printf(%d,%d\n,i,a);8.}9.10.}11.}12.13.return0;14.}5.10第n个闰年编程找出自1601开始到2015年之间的第n个闰年并输出是哪一年,n从键盘输入。闰年条件:四年一闰,百年不闰;四百年又闰。1.#includestdio.h2.intmain()3.{inta,i,c=0;4.scanf(%d,&a);5.for(i=1601;i=2015;i++)6.{if((i%4==0&&i%100!=0)||(i%400==0))7.c=c+1;8.if(a==c)9.{break;10.}11.}12.13.printf(第%d个闰年是%d\n,a,i);14.15.return0;16.}5.13满足条件的三角形直角三角形一条直角边长是24,其余的边长都是正整数,而且斜边的长度不超过50。输出出所有满足条件的三角形。1.#includestdio.h2.intmain()3.{inti,a;4.for(i=1;i=50;i++)5.{for(a=1;a=50;a++)6.{if(24*24+a*a==i*i)7.{printf(24,%d,%d\n,a,i);8.}9.10.}11.}12.13.return0;14.}5.14多个数输出控制输出1-35之间的偶数,每行输出4项,最后一行输出时若不足4项也按一行输出,并且统计偶数的个数。1.#includestdio.h2.intmain()3.{inta,b=0;4.for(a=2;a=35;a=a+2)5.{printf(%d,,a);6.b=b+1;7.if(b%4==0)printf(\n);8.}9.if(b%4!=0)printf(\n);10.printf(偶数的个数为%d\n,b);11.return0;12.}5.15图案输出编程输出由星号组成的图形:***************1.#includestdio.h2.intmain()3.{inta,b;4.for(a=1;a=5;a++)行数5.{for(b=1;b=a;b++)6.{printf(*);7.}8.9.printf(\n);10.}11.return0;12.}6.1统计区间的奇数个数n从键盘输入,统计区间[20,n)内的大于26的奇数的个数并输出。1.#includestdio.h2.intmain()3.{intm,i,a=0;4.scanf(%d,&m);5.if(m26)6.{for(i=27;i=m;i++)7.{if(i%2!=0)8.a=a+1;9.}10.printf(奇数的数量=%d个\n,a);11.}12.elseif(20=m=26)printf(奇数的数量=0个\n);13.return0;14.}6.2发票的编码有一张发票上有一个5位数的号码67口口8,其中百位和十位上的数字看不清了,但知道该数能够被78整除,也能被67整除。编程输出该号码。提示:用穷举法1.#includestdio.h2.intmain()3.{intm,i;4.for(i=0;i=9;i++)5.{for(m=0;m=9;m++)6.{if(((67000+100*i+10*m+8)%78==0)&&((67000+100*i+10*m+8)%67==0))7.printf(%d\n,67000+100*i+10*m+8);8.}9.}10.11.return0;12.}6.3正负交替的多项式求和计算S=-1/1+1/2-1/3+1/4…+1/n,其中n从键盘输入,结果保留3位小数。提示:从1+2+3+...+n可以变换出各种多项式的求和。1.#includestdio.h2.intmain()3.{floatm,i,c,a=0,b=0;4.scanf(%f,&c);5.for(i=1;i=c;i=i+2)6.{a=a-1.0/i;7.}8.for(m=2;m=c;m=m+2)9.{b=b+1.0/m;10.}11.printf(%.3f\n,a+b);12.return0;13.}6.4统计大写字母的个数从键盘输入12个字符,输出其中大写字母的个数。1.#includestdio.h2.intmain()3.{chara;4.inti,m=0;5.for(i=1;i=12;i=i+1)6.{scanf(%c,&a);7.if(a='Z'&&a='A')8.m=m+1;9.}10.11.printf(%d\n,m);12.return0;13.}6.5正整数的位数2016.3.30模块考试原题:从键盘上输入一个正整数,输出该数的位数。例如:输入1234,输出4位数;输入123456,输出6位数。提示:考点:模(求余)运算,循环假设该正整数(不包括0)放在a中,重复a=a/10,直到a为0为止。每除一次计数一次,因为不能确定循环的次数,while循环是首选。例如三位数:123/10=12,12/10=1,1/10=01.#includestdio.h2.intmain()3.{4.inti,m=0;5.scanf(%d,&i);6.while(i0)7.{i=i/10;8.m=m+1;}9.printf(%d\n,m);10.return0;11.}6.6大小写2016.3.30模块考试原题:输入一个字符,判断并输出其为大写或小写。1.#includestdio.h2.intmain()3.{4.chari;5.scanf(%c,&i);6.if(i='A'&&i='Z')7.printf(大写\n);8.elseif(i='a'&&i='z')9.printf(小写\n);10.return0;11.}6.9最后1项为特别小的数的多项式之和计算1/1+1/3+1/5+…,直到最后1项的值小于10-6为止,多项式累加和保留2位小数。提示:(1)第1项=1,第二项=1/3,第三项=1/5......每一项的值越来越小,小于10-6的是哪一项呢?(2)10-6在程序中的表示方式:0.000001或者1e-61.#includestdio.h2.intmain()3.{4.floata=1,b=0;5.while((1.0/a)0.000001)6.{b=b+1.0/a;7.a=a+2;8.}9.10.printf(%.2f\n,b);11.return0;12.}6.10最大值的位置从键盘上输入8个数,输出最大数是第几个输入的。1.#includestdio.h2.intmain()3.{inta,b,i,c;4.scanf(%d,&a);5.c=1;6.for(i=2;i=8;i++)7.{scanf(%d,&b);8.if(ba)9.{a=b;10.c=i;11.}12.13.}14.15.printf(最大数在第%d位置\n,c);16.return0;17.}6.11区间输出m、n从键盘输入,将区间[m,n)内的不能被3整除的数输出。1.#includestdio.h2.intmain()3.{inta,b,i,c;4.scanf(%d%d,&a,&b);5.for(i=a;ib;i++)6.{7.if(i%3!=0)8.printf(%d,,i);9.}10.11.printf(\n);12.return0;13.}6.14统计及格人数从键盘输入10个学生的成绩,要求统计及格人数并输出。1.#includestdio.h2.intmain()3.{inta,b,i=0;4.for(a=1;a=10;a++)5.{scanf(%d,&b);6.if(b=60)i=i+1;7.}8.printf(及格人数=%d个\n,i);9.return0;10.}6.16寻找玫瑰花(单重循环)如果一个4位数等于它的各位数字的4次方和,则这个4位数称为“玫瑰花”数,例如1634就是一个玫瑰花数。要求用单重循环完成,即不使用穷举法,求出所有玫瑰花数。1.#includestdio.h2.intmain()3.{inta,b,i,d,r;4.for(a=1000;a=9999;a++)5.{b=a/1000;6.i=a/100%10;7.d=a/10%10;8.r=a%10;9.if(b*b*b*b+i*i*i*i+d*d*d*d+r*r*r*r==a)10.printf(%d\n,a);11.}12.13.return0;14.}6.17鸡兔同笼问题之二设在一只笼子里关着鸡和兔子共m只,笼子中的脚数有n,求鸡和兔各有多少只?m和n从键盘输入。编程思路:穷举法。1.#includestdio.h2.intmain()3.{inta,b,i,d;4.scanf(%d%d,&a,&b);5.if((a%2!=0)&&(b%2!=0))printf(无此结果\n);6.else7.for(i=1;i=a;i++)8.{for(d=1;d=a;d++)9.{if((i+d==a)&&(2*i+4*d==b))10.printf(鸡=%d,兔=%d\n,i,d);11.}12.}13.14.return0;15.}6.18小写字符转换成大写输出2016.3.30模块考试原题:连续输入15个小写字符,将他们转换成大写字符并输出。小写转大写:字符-32考点:字符输入输出,循环1.#includestdio.h2.intmain()3.{chara,b,i;4.for(i=1;i=15;i++)5.{scanf(%c,&a);6.a=a-32;7.printf(%c\n,a);8.}9.return0;10.}7.2[n-200]区间满足条件的个数n,k从键盘上输入,输出[n-200]间所有末位是k或者能被k整除的数的个数。1.#includestdio.h2.intmain()3.{intn,m,b,a=0;4.scanf(%d%d,&m,&n);5.for(b=m;b=200