写在前面:这里是小王成长日志,一名在校大学生,想在学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人。欢迎关注与留言。
1.下列程序的功能为:输出100以内能被3整除且个位数为6的所有整数。请填空补充完整程序并上机调试。
#include
int main()
{
int i,j;
for(i=0; i<10 ; i++)
{
j=i*10+6;
if( j%3!=0 ) continue;
printf("%d\n",j);
}
return 0;
}
扩展练习:如果不用continue,有没有其他方法可以实现上述功能,试试?
答:有,
第一种:改造for循环:
for (i = 0; i < 100; i++)
if (i % 3 == 0 && i % 10 == 6)
printf("%d\n", i);
第二种:使用goto关键字
for (i = 0; i < 10; i++)
{
j=i*10+6;
if (j % 3 != 0)
goto RESTART;
printf("%d\n", j);
RESTART:;
}
2.分析下列程序,写出运行结果,然后上机运行验证,并回答如下问题。
#include
int main()
{
int sum=0,i=0;
while(1)
{
i++;
if(i%2==0) continue;
printf("%d+",i);
sum=sum+i;
if(sum>20) break;
}
printf("\b=%d\n",sum);
return 0;
}
回答:
(1)while(1)表示什么意思。
答:死循环,因为while的条件永远为真(1)
(2)说明程序中continue和break的作用。
答:continue跳过当前循环后面的语句,进行下一次循环,在程序中是跳过偶数
Break退出循环,程序中是退出while循环,执行 printf("\b=%d\n",sum); 语句
(3)简单叙述该程序实现什么功能。
答:将奇数相加,直到和大于20为止,输出这个等式,程序中的输出为1+3+5+7+9=25
3.用循环语句编写程序,输出如下图案:
A
BB
CCC
DDDD
EEEEE
FFFFFF
GGGGGGG
答:
#include
int main()
{
char ch = 'A';
for (int i = 0; i < 7; i++)
{
for (int j = 0; j <= i; j++)
printf("%c", ch + i );
printf("\n");
}
return 0;
}
4.啤酒和饮料问题:啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。请编程实现计算小明分别买了几罐啤酒和几罐饮料。
答:
#include
int main()
{
int x = 0, y = 0;
for (int i = 0; i <= 82.3 / 2.3; i++)
//遍历所有可能的情况
if ((82.3 - 2.3 * i)/1.9==(int)((82.3 - 2.3 * i)/1.9))
//判断82.3扣除买了啤酒的钱后是否能购买*整数*罐饮料
printf("买了%d瓶啤酒%d瓶饮料\n", i, (int)((82.3 - 2.3 * i)/1.9));
return 0;
}
5.编程实现:求1000以内的完数,完数是指该数等于该数所有因子的和。例如:6=1+2+3,28=1+2+4+7+14。
答:
#include
int main()
{
int count = 0, flag = 0;
for (int i = 2; i <= 1000; i++)
{
flag = 0; //初始化
for (int j = 1; j <= i / 2; j++)
if (i % j == 0)
flag += j;
if (flag == i)
count += i;
}
printf("%d", count);
return 0;
}
注:1不是完数 完数要排除本身
都看到这里了,各位哥哥姐姐叔叔阿姨给小王点个赞 关个注 留个言吧,和小王一起成长吧,你们的关注是对我最大的支持。
有事没事进来看看吧 : 小王的博客目录索引
C语言专栏看这 : C语言学习专栏
如果以上内容有任何不准确或遗漏之处,或者你有更好的意见,就在下面留个言让我知道吧-我会尽我所能来回答。