学习目的:
1.掌握用循环解决复杂问题的方法。
2.体会“自顶向下,逐步求精”的思路。
3.掌握多重循环的应用。
学习内容:
1.输入一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续输入下一个数。输入零时,表示数据输入结束。要求最后统计出累加的项数。
2.鸡和狗同笼,共有98个头,386只脚,请计算出鸡、狗各为多少只?(提示:可以先设定有x只鸡,y只狗,根据鸡的脚数以及狗的脚、以及总头数来设定数学表达式)
3.用100元人民币兑换10元、5元和1元的纸币(每一种都要有)共50张,请编程计算各兑换多少张纸币?
4.打印出九九乘法表。(循环嵌套)。
程序实现:
1.输入一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续输入下一个数。输入零时,表示数据输入结束。要求最后统计出累加的项数。
#include<stdio.h>
int main()
{
int i;
int c=0;
do
{
printf("请您输入一个整数:\n");
scanf("%d",&i);
if (i>0) {c+=i;}
}while(i!=0);
printf("您输入整数的和为:%d\n",c);
return 0;
}
2.鸡和狗同笼,共有98个头,386只脚,请计算出鸡、狗各为多少只?
#include <stdio.h>
void main()
{
int i;
for(i=1;i<=98;i++)
{
if(2*i+4*(98-i)==386)
break;
}
printf("鸡的个数为:%d,兔的个数为:%d ",i,(98-i));
printf("\n");
}
3.用100元人民币兑换10元、5元和1元的纸币(每一种都要有)共50张,请编程计算各兑换多少张纸币?
#include <stdio.h>
main()
{
int m,n,i,j,count;
count = 0;
for ( m = 90,i = 1; m > 0; ++i,m-= 10)
for ( n = m - 5,j = 1; n > 0; ++j,n -= 5 )
printf("第%4d种:共%2d张 :%2d 张10元,%2d 张5元,%2d 张1元\n",++count,i+j+n,i,j,n);
return 0;
}
4.打印出九九乘法表。
#include <stdio.h>
int main()
{
int i,j;
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%d\t",j,i,i*j);
}
printf("\n");
}
return 0;
}