输入一个小于等于10000的整数n,在[100,n]之间打印出各位数字和为5的所有整数的个数。
2024-01-03 15:28:16
PS:答案会写在文章最下方,建议先阅读完前面的几点信息后再看答案!?
输入:1000
输出:15
#include<stdio.h>
void main()
{
int a,b,c,d,k,i,n;
k=0;
scanf("%d",&n);
/**********Program**********/
/********** End **********/
printf("%d\n",k);
}
拿到题目后,我们应该知道以下几点信息:
1、用一个变量 i 把从100开始到 n 结束的数都遍历一遍
2、因为i是遍历的数,无法参与下面的运算,所以我们要把 i 赋值给一个变量 c
3、因为输入数的位数不确定,所以我们要用一个while循环来让无论是几位数,最终都能把这个数的每一位数相加
4、在while中我们需要把 c 的每一位都提取出来,所以我们需要使用到 %(模运算) 模运算后,把得出来的数放到一个可以求总和的变量上?
5、最终用if条件判断求总和的变量是否为5
6、进入if后,变量 k 要加一,以此得出最终k是多少?
最终代码如下:
#include<stdio.h>
void main()
{
int a,b,c,d,k,i,n;
k=0;
scanf("%d",&n);
/**********Program**********/
for (i = 100; i < n; i++)
{
a=b=0;
c=i;
while (c!=0)
{
a = c % 10;
c = c / 10;
b += a;
}
if(b==5)
{
k++;
}
}
/********** End **********/
printf("%d\n",k);
}
文章来源:https://blog.csdn.net/lzcandhyandcg/article/details/135363884
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!