这节课讲的嵌套其实在前面的学习中或多或少其实都用过了,这节课只是强调了用法,并且加深了难度
项目一,不考虑老师的补充题先,自己来写
代码:
/*求0到100之间每位乘积大于和的数*/
#include <stdio.h>
int main()
{
int s,m,n;//s作为俩数乘积,m为俩数和,n为循环数,i作为n的中转
s=1;
m=0;
for(n=1;n<=100;++n)
{
s=(n/10)*(n%10);
m=(n/10)+(n%10);
if(s>m)
printf("%d\n",n);
}
return 0;
}
项目二
代码:
/*乘法口诀*/
#include <stdio.h>
int main()
{
int n,k;
for(n=1;n<=9;++n)
{
for(k=1;k<=n;++k)
printf("%d*%d=%d\t",n,k,n*k);
printf("\n");
}
return 0;
}
这是双for循环
代码:
/*乘法口诀*/
#include <stdio.h>
int main()
{
int n,k=1;
for(n=1;n<=9;++n)
{
k=1;//这里很重要,k执行完while后要记得重置k的值
while(k<=n)
{
printf("%d*%d=%d\t",n,k,n*k);
k++;
}
printf("\n");
}
return 0;
}
这是for while循环,这里要注意k值的重置
项目三
代码:
/*单位转换对换表*/
#include <stdio.h>
int main()
{
int i,j;
printf("Inch\\Meter");
for(i=0;i<=9;i++)
{
printf("%6d",i);
}
printf("\n");
for(j=0;j<=9;j++)
{
printf("%10d",j);
for(i=0;i<=9;i++)
printf("%6.2f",(j*10+i)/3.28);
printf("\n");
}
return 0;
}
运行结果截图:
这题难得做的跟贺老师一模一样,除了他多定义了个vji
项目5
代码:
/*计分器*/
#include <stdio.h>
int main()
{
char x;
int i;
float a,max=0,min=10,sum=0;
do
{
max=0;
min=10;
sum=0;
for(i=1;i<=10;i++)
{
printf("请输入:");
scanf("%f",&a);
sum+=a;
if(a>max)
max=a;//求最大
if(a<min)
min=a;//求最小
}
printf("该选手的最终得分为%f\n",(sum-max-min)/8);
printf("如要计算下一位选手的成绩,请按任意键,退出请按n或N\n");
fflush(stdin);
x=getchar();
}
while(x!='n'&&x!='N');
return 0;
}