C语言做一个36除以2的循环,C语言循环练习2,建议做做

写在前面:这里是小王成长日志,一名在校大学生,想在学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人。欢迎关注与留言。

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语言学习专栏

如果以上内容有任何不准确或遗漏之处,或者你有更好的意见,就在下面留个言让我知道吧-我会尽我所能来回答。

标签:main,int,sum,练习,C语言,continue,做做,printf,include

来源: https://blog.youkuaiyun.com/weixin_45761327/article/details/106586044

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值