补全代码

简介: 补全代码

题目所给代码

#include 
int fun(int x)
{
int n, s1, s2, s3, t;
n=0;
t=100;
/found/
while(t<=1){
/found/
s1=t%10; s2=(2)%10; s3=t/100;
/found/
if(s1+s2+s3==3)
{ printf(“%d “,t);
n++;
}
t++;
}
return n;
}
main()
{ int x=-1;
while(x<0)
{ printf(“Please input(x>0): “); scanf(”%d”,&x); }
printf(”\nThe result is: %d\n”,fun(x));
}



题目要求

  1. 作为函数值返回。
  2. 例如,当x值为5时,100 ~ 999之间各位上数字之和为5的整数有: 104、113、 122、131、 140、 203、 212、 221、 230、 302、 311、 320、 401、 410、
  3. 500。共有15个。当x值为27时,各位数字之和为27的整数是: 999。 只有1个。
  4. 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
  5. 注意:源程序存放在考生文件夹下的BLANK1.C中。
  6. 不得增行或删行,也不得更改程序的结构!”




解析

这个程序由两个函数构成:fun 和 main。其中,main 函数用于接收用户输入的数字,然后调用 fun 函数,并输出 fun 函数的返回值。fun 函数的目的是找出所有满足条件的整数,并将其打印在屏幕上。为了在 fun 函数中实现这个目标,我们使用一个 while 循环来循环遍历从 100 到 999 的所有整数。在每次循环中,我们首先计算三个数字:个位数、十位数和百位数,并将它们相加。如果它们的和等于 x,那么我们就找到了一个符合条件的数字。在这种情况下,我们将打印这个数字,并将找到的数字的数量增加 1。最后,fun 函数返回找到的数字的总数。


逐一解析程序中缺少的部分。在程序中,我们需要在 while 循环的条件语句中填入一个表达式,以便循环可以在找到 999 以前进行。因为我们要遍历从 100 到 999 的所有数,所以条件应该是 t 小于等于 999。因此,我们需要在条件语句中填入 t<=999。


我们需要在计算十位数的表达式中填入正确的表达式。我们知道,十位数是通过对 t 取模得到的,然后将结果除以 10 取整,而不是通过对 t 除以 10 得到的。因此,我们应该在表达式中使用 t / 10 % 10,而不是 t / 10。


最后,因为程序中已经有一个变量 t,用于跟踪当前正在检查的数字,所以我们需要使用另一个变量来保存符合条件的数字的数量。因此,我们需要将 t 更改为 n。


程序

#include 
int fun(int x)
{
  int n, s1, s2, s3, t;
  n = 0;
  t = 100;
  while(t <= 999) { // 将 __1__ 替换为 t <= 999
    s1 = t % 10;
    s2 = (t / 10) % 10; // 将 __2__ 替换为 t / 10 % 10
    s3 = t / 100;
    if(s1 + s2 + s3 == x) {
      printf("%d ", t);
      n++;
    }
    t++;
  }
  return n;
}
int main(void)
{
  int x = -1;
  while (x < 0) {
    printf("Please input (x > 0): ");
    scanf("%d", &x);
  }
  printf("\nThe result is: %d\n", fun(x));
  return 0;
}



相关文章
|
3月前
|
IDE 开发工具 Android开发
eclipse自动补全及其空格键优化(去除空格自动补全)
本文介绍了如何在Eclipse IDE中配置自动补全功能,并提供了去除空格键自动补全代码的技巧。
eclipse自动补全及其空格键优化(去除空格自动补全)
|
4月前
|
搜索推荐 Shell
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
去除“四”的避讳代码
去除“四”的避讳代码
49 0
vscode中粘贴文本缩进混乱的解决
有时候用vscode写代码时候,会碰到这样的问题,从Excel表中复制制表符分割的文件到vscode中去进行处理,分隔符就变了,像下图一样,有的行1个空格分割,有的行变为3个空格,格式已经发生混乱。这样会导致写代码用split分割时候你不知道以什么分割,文本少的时候还OK,手动改改,文本大的时候,就麻烦了必须得让他们统一,复制的啥格式粘贴就得是啥格式。
536 0
|
机器学习/深度学习 移动开发 Unix
如何使用UE去除复制文本中的空格、换行符和TAB
如何使用UE去除复制文本中的空格、换行符和TAB
如何使用UE去除复制文本中的空格、换行符和TAB
|
XML 编译器 PHP
word 使用中遇到的小细节(按空格键后面字不见;从编译器粘贴的代码出现乱码,word标题内容折叠效果实现)
word 使用中遇到的小细节(按空格键后面字不见;从编译器粘贴的代码出现乱码,word标题内容折叠效果实现)
234 0
word 使用中遇到的小细节(按空格键后面字不见;从编译器粘贴的代码出现乱码,word标题内容折叠效果实现)
|
自然语言处理 IDE Java
Java实现文本编辑时基于拼音输入的补全原型
尝试中文输入法和IDE补全/提示的集成
942 0
|
Android开发 自然语言处理
演示Eclipse插件实现代码提示和补全
演示如何通过Eclipse插件实现自动补全功能。
1876 0
|
Java 移动开发
java正则表达式移除网页中注释代码
/** * 移除网页中注释掉的代码 * * @param str * @return */ public static String removedisablecode(String str) { Pattern pattern = Pattern.
1244 0