C语言作业总结 下载本文

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 main() {

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 int main() { char i;

scanf(\,&i); if(i>='A'&&i<='Z') printf(\大写\\n\); else if(i>='a'&&i<='z') printf(\小写\\n\); return 0; }

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-6

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

#include int main() {

float a=1,b=0;

while((1.0/a)>0.000001) { b=b+1.0/a; a=a+2; }

printf(\,b); return 0; }

6.10 最大值的位置

从键盘上输入8个数,输出最大数是第几个输入的。

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.

#include int main() { int a,b,i,c; scanf(\,&a); c=1;

for(i=2;i<=8;i++) { scanf(\,&b); if(b>a) { a=b; c=i; } }

printf(\最大数在第%d位置\\n\,c); return 0; }

6.11 区间输出

m、n从键盘输入,将区间[m,n)内的不能被3整除的数输出。

1. 2. 3. 4. 5.

#include int main() { int a,b,i,c;

scanf(\,&a,&b); for(i=a;i

6. 7. 8. 9. 10. 11. 12. 13.

{

if(i%3!=0) printf(\,i); }

printf(\); return 0; }

6.14 统计及格人数

从键盘输入10个学生的成绩,要求统计及格人数并输出。

1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

#include int main() { int a,b,i=0; for(a=1;a<=10;a++) { scanf(\,&b); if(b>=60) i=i+1; }

printf(\及格人数=%d个\\n\,i); return 0; }

6.16 寻找玫瑰花 (单重循环)

如果一个 4 位数等于它的各位数字的 4 次方和,则这个4 位数称为“玫瑰花”数,例如 1634 就是一个玫瑰花数。要求用单重循环完成,即不使用穷举法,求出所有玫瑰花数。

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.

#include int main() { int a,b,i,d,r;

for(a=1000;a<=9999;a++) { b=a/1000; i=a/100; d=a/10; r=a;

if(b*b*b*b+i*i*i*i+d*d*d*d+r*r*r*r==a) printf(\,a); }

return 0; }

6.17 鸡兔同笼问题之二

设在一只笼子里关着鸡和兔子共m只,笼子中的脚数有n,求鸡和兔各有多少只? m和n从键盘输入。

编程思路:穷举法。

1. 2. 3.

#include int main() { int a,b,i,d;

4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.

scanf(\,&a,&b);

if((a%2!=0)&&(b%2!=0)) printf(\无此结果\\n\ else

for(i=1;i<=a;i++) { for(d=1;d<=a;d++)

{ if((i+d==a)&&(2*i+4*d==b)) printf(\鸡=%d,兔=%d\\n\,i,d); } }

return 0; }

6.18 小写字符转换成大写输出 2016.3.30 模块考试原题:

连续输入15个小写字符,将他们转换成大写字符并输出。 小写转大写:字符-32 考点:字符输入输出,循环

1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

#include int main() { char a,b,i; for(i=1;i<=15;i++) { scanf(\,&a); a=a-32;

printf(\,a); }

return 0; }

7.2 [n-200]区间满足条件的个数

n, k 从键盘上输入, 输出 [n-200] 间所有末位是k或者能被k整除的数的个数。

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

#include int main() { int n,m,b,a=0; scanf(\,&m,&n); for(b=m;b<=200;b++) { if(b%n==0||b==n) a=a+1; }

printf(\,a); return 0; }

7.3 100匹马运100担货

100 匹马驮 100 担货,大马一匹驮3担,中马一匹驮 2 担,小马两匹驮1担,编写程序计算大 中 小马的个数,以例如 20,0,80 格式输出。