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. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
#include
scanf(\,&a); for(i=2;i<=a;i++) { if(a%i==0) break; } if(i
printf(\不是素数\\n\); else printf(\是素数\\n\); return 0; }
5.7 统计个数
n 从键盘输入,统计在 [1,n] 中,有多少个是 7 的倍数或末尾是 7 的数。 例如输入 20 ,在 [1,20] 中满足条件的数( 7,14,17 )共有 3 个。
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
#include
{ if(i%7==0||i==7) b=b+1; }
printf(\个\\n\,b); return 0; }
5.12 老鼠咬坏的账本
老鼠咬坏了帐本,式中符号□是被老鼠咬掉的地方。要恢复下面的等式,应在2个□中分别填上一个数字,编程输出这2个数,2数间用逗号隔开,如3,5。 3□×6237=□3×3564 提示:用穷举法
1. 2. 3. 4. 5.
#include
for(i=0;i<=9;i++) { for(a=1;a<=9;a++)
6. 7. 8. 9. 10. 11. 12. 13. 14.
{ if((30+i)*6237==(a*10+3)*3564) { printf(\,i,a); } } } return 0; }
5.10 第n个闰年
编程找出自1601开始到2015年之间的第n个闰年并输出是哪一年,n从键盘输入。 闰年条件:四年一闰,百年不闰;四百年又闰。
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
#include
{ if((i%4==0&&i0!=0)||(i@0==0)) c=c+1; if(a==c) { break; } }
printf(\第%d个闰年是%d\\n\,a,i);
return 0; }
5.13 满足条件的三角形
直角三角形一条直角边长是24,其余的边长都是正整数,而且斜边的长度不超过50。输出出所有满足条件的三角形。
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
#include
for(i=1;i<=50;i++) { for(a=1;a<=50;a++) { if(24*24+a*a==i*i)
{ printf(\,a,i); } } } return 0;
14.
}
5.14 多个数输出控制
输出 1-35 之间的偶数,每行输出 4 项,最后一行输出时若不足 4 项也按一行输出, 并且统计偶数的个数。
1. #include
4. for(a=2;a<=35;a=a+2) 5. { printf(\,a); 6. b=b+1;
7. if(b%4==0) printf(\); 8. }
9. if(b%4!=0) printf(\
10. printf(\偶数的个数为%d\\n\,b); 11. return 0; 12. }
5.15 图案输出
编程输出由星号组成的图形: * * * * * * * * * * * * * * *
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
#include
for(a=1;a<=5;a++) 行数 { for(b=1;b<=a;b++) { printf(\); }
printf(\); }
return 0; }
6.1 统计区间的奇数个数
n从键盘输入,统计区间[20,n) 内的大于26的奇数的个数并输出。
1. 2. 3. 4. 5. 6. 7.
#include
{ for(i=27;i<=m;i++) { if(i%2!=0)
8. 9. 10. 11. 12. 13. 14.
a=a+1; }
printf(\奇数的数量=%d个\\n\,a); }
else if(20<=m<=26) printf(\奇数的数量=0个\\n\); return 0; }
6.2 发票的编码
有一张发票上有一个5位数的号码67口口8,其中百位和十位上的数字看不清了,但知道该数能够被78整除,也能被67整除。编程输出该号码。 提示:用穷举法
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
#include
for(i=0;i<=9;i++) { for(m=0;m<=9;m++)
{ if(((67000+100*i+10*m+8)x==0)&&((67000+100*i+10*m+8)g==0)) printf(\,67000+100*i+10*m+8); } } return 0; }
6.3 正负交替的多项式求和
计算S= -1/1+1/2-1/3+1/4?+1/n ,其中 n 从键盘输入,结果保留3位小数。 提示:
从 1+2+3+...+ n 可以变换出各种多项式的求和。
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
#include
{float m,i,c,a=0,b=0; scanf(\,&c); for(i=1;i<=c;i=i+2) { a=a-1.0/i; }
for(m=2;m<=c;m=m+2) { b=b+1.0/m; }
printf(\,a+b); return 0; }
6.4 统计大写字母的个数
从键盘输入12个字符,输出其中大写字母的个数。
1. 2.
#include
3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
{char a; int i,m=0;
for(i=1;i<=12;i=i+1) { scanf(\,&a); if(a<='Z'&&a>='A') m=m+1; }
printf(\,m); return 0; }
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=0
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
#include
int i,m=0; scanf(\,&i); while(i>0) { i=i/10; m=m+1; } printf(\,m); return 0; }
6.6 大小写
2016.3.30 模块考试原题:
输入一个字符,判断并输出其为大写或小写。
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
#include
scanf(\,&i); if(i>='A'&&i<='Z') printf(\大写\\n\); else if(i>='a'&&i<='z') printf(\小写\\n\); return 0; }
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C语言作业总结在线全文阅读。
相关推荐: