【问题标题】:Problems to solve using control instructions in C for practice使用 C 中的控制指令进行练习要解决的问题
【发布时间】:2012-08-07 08:56:45
【问题描述】:

需要一些学生能想到的好问题,并应用他们自己的逻辑来解决这些问题,仅使用控制指令。到目前为止所涵盖的主题都是基本的,甚至还没有完成数组。但是,我希望学生在继续学习更高的主题之前做到完美。

我尝试搜索一些示例问题,但没有一个符合我的预期/它们是我已经知道的。

我知道的一些:

  1. 编写程序以在不使用内置函数的情况下找出 a^b 的值。
  2. 编写一个程序来找出一个范围内的 Armstrong 数。
  3. 编写一个程序,以相反的顺序打印一个数字的二进制等值(因为数组还没有完成,只是简单的逻辑来打印余数并进一步除数)
  4. 计算用户输入的所有 -ve、+ve 和 0 数字,直到用户希望终止程序。
  5. 编写一个程序来显示给定数的所有除数。
  6. 编写一个程序来判断给定的数是否是素数。
  7. 检查给定的数字是奇数还是偶数。

需要更多逻辑上有趣的好问题,以帮助学生建立解决问题的能力。

谢谢。

PS:如果这个问题含糊不清,请原谅我,因为这个问题有很多答案,我猜我不能接受一个答案?

【问题讨论】:

  • 1.编写一个程序来找出a^b的值,而不使用内置函数。希望您的学生只是学生,否则您会看到有人回答 int main(){int a=8;b=10;返回 a^b;} ;)
  • “^”是指幂函数。

标签: c loops logic


【解决方案1】:
  • 检查数字是否为回文 (1234554321)
  • 重写一个函数,使用 write() 在控制台中打印一个数字(类似于printf("%d", ...)
  • 写入从 12 到 89 的 2 位数字的所有组合的函数,不允许两次相同的数字,也不允许不同的顺序(12, 13, ..., 19, 23, 24...:跳过 21,因为它是用 12 完成的)
  • 使用相同规则(不使用数组)写入 n 位数字(n 作为参数从 1 到 9 给出)的所有组合的函数

【讨论】:

  • 非常感谢!但是你的第二点到底是关于什么的?使用 write() 重写函数以在控制台中打印数字 - 我们如何做到这一点?
  • 将数字分解为数字,并以正确的顺序打印。可以轻松地递归或迭代地完成。
  • 使用模数、除法并将正确的部分转移到下一次迭代。一个简单的练习,但对真正的初学者很有用
  • 分解与数字的回文相同。但我想知道整个数字也可以像 printf() 一样使用 write 函数来打印。那为什么要特别写 write() 函数呢?
  • 不,write 函数将字符从内存写入终端,你不能只调用一次 write 就写入整个 int。然后是write,特别是因为这是他们必须“将此字符写入终端”而无需降低到 asm 级别的最接近的事情。
【解决方案2】:
Print first 33 terms of Fibonacci-Series

Write factorial of n being input from keyboard on console.

Find hours,minutes,seconds from given seconds.(305 s = 5m + 5s ....)

Calculate dot-product and cross-product of two 2D vectors.

Find the intersecting point of two lines(m=slope, (x0,y0)=a point for each line)

Calculate sin(pi/4) with using series expansion

Print the minimum of values given from keyboard on screen.

Simulate **and** , **or** and **xor** gates.

Find projection of a vector(3D) on another vector. 

Find area of a polygon(2D)

Calculate the integral of x-square between x=0 and x=3 using integration by trapezoidal rule


Find roots of: (x-square) plus (two times x) plus (one) equals (zero)

【讨论】:

  • 感谢可爱的想法,还有什么方法可以在不使用数据结构的情况下实现二维向量的点积和叉积? Coz Arrays 尚未涵盖学生。您还可以解释一下:1.多边形的面积2.x-squre的积分吗?我认为这些都涉及到整合,不是吗?谢谢。
  • 只为向量1 的x1,y1 和向量2 的x2,y2 分开变量。
  • 有很多集成技术。我提到了梯形规则。对于多边形的区域,我唯一没有尝试过:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多