现在位置: 首页 > 04 循环结构 > 文章
2014年11月26日 04 循环结构 ⁄ 共 301字 穷举法:抓交通肇事犯已关闭评论
一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同; 丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include <stdio.h> int main(int argc, char *argv[]) { int i, n, a, b, c, d; ...
阅读全文
2014年01月05日 04 循环结构 ⁄ 共 199字 break提前终止循环(n以内的素数)已关闭评论
素数指在大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数)。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着非常重要的地位。 问题:输出1~n之间的所有素数,每行一个。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> int main(int argc, char *argv[]) { int i,j, flag; i=49; flag=1; // 先...
阅读全文
2013年11月27日 04 循环结构 ⁄ 共 167字 for循环(水仙花数)已关闭评论
for循环(水仙花数) 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数字本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 有两种思路来求水仙花数:分离和合成 假设 i 是三位整数,分别用整数 a、b、c来表示其百位数、十位数和个位数。 1 2 3 4 5 6 7 8 9 10 11 12 13 #include <stdio.h> int main() { int i,a,b,c; for (i=100; i<=999; i++) { a=i/100...
阅读全文
2013年11月19日 04 循环结构 ⁄ 共 347字 二重循环(九九乘法表)已关闭评论
二重循环(九九乘法表) 如何输出如下所示的九九乘法表呢? 1x1= 1 1x2= 2 2x2= 4 1x3= 3 2x3= 6 3x3= 9 1x4= 4 2x4= 8 3x4=12 4x4=16 1x5= 5 2x5=10 3x5=15 4x5=20 5x5=25 1x6= 6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 1x7= 7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 1x8= 8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 1x9= 9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=811x1= 1 1x2= 2 2x2= 4 1x...
阅读全文
2013年11月16日 04 循环结构 ⁄ 共 427字 while循环:3n+1问题已关闭评论
【问题:3n+1问题】 猜想:对于任意大于1的自然数,若n为奇数,则将n变为3n+1,否则变为n的一半。经过若干次这样的变换,一定会使n变为1。例如3→10→5→16→8→4→2→1。 输入n,输出变换的次数。n≤109。 样例输入:3 样例输出:7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> int main() { int n, c; scanf("%d", &n); c = 0; while(n > 1) { ...
阅读全文
2013年11月16日 04 循环结构 ⁄ 共 332字 do while循环(迭代法求根)已关闭评论
【问题:迭代法求根】 函数fun功能是:利用下面的简单迭代方法求方程cos(x)-x=0的一个实根。 迭代步骤如下: (1)取x1初值为0.0; (2)x0=x1,将x1的值赋给x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,执行步聚(5),否则执行步聚(2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出结果Root=0.739086。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> ...
阅读全文
2013年11月16日 04 循环结构 ⁄ 共 260字 break提前终止循环:爱因斯坦的数学题已关闭评论
【问题:爱因斯坦的数学题】 爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问这条阶梯共有多少阶?本题有多个答案,只需要输出其中的最小值。 1 2 3 4 5 6 7 8 9 10 11 12 #include <stdio.h>   int main() { int i; for(i=1; ;i++&#...
阅读全文
2013年11月16日 04 循环结构 ⁄ 共 132字 continue提前结束本次循环:统计区间内平方数的个数已关闭评论
问题:统计1000~10000之间平方数的个数(包含1000和10000) 说明: 9=3*3,25=5*5, 81=9*9,9、25、81都是平方数,80不能表示成某个数的平方,所以就不是平方数。 1 2 3 4 5 6 7 8 9 10 11 12 #include <stdio.h>   int main() { int c=0, i; for (i=1; i<=100; i++) { if (i*i<1000) continue; c++; } printf("%d\n",...
阅读全文
2013年08月31日 04 循环结构 ⁄ 共 283字 for循环:求1~100之和已关闭评论
三种基本方式:for、while和do while 【问题:求1+2+......+100之和】 计算机无法识别......,但这种运算可以用循环来表示。 1 2 3 4 5 sum = 0; sum = sum + 1; sum = sum + 2; ...... sum = sum + 100;sum = 0; sum = sum + 1; sum = sum + 2; ...... sum = sum + 100; 计算机最常用的一个操作就是累加,就是在原来的基础上增加。上面的运算可以简化成两步:初始化,重复累加 1 2 sum = 0; sum = sum + i; i 的...
阅读全文
2013年08月13日 04 循环结构 ⁄ 共 158字 for 循环结构已关闭评论
1 2 3 4 5 6 7 8 9 10 11 // 2011_09_B_08   #include <stdio.h> int main() { int i, j; for(i=6; i>3; i--) j=i; printf("%d%d\n",i,j); return 0; }// 2011_09_B_08 #include <stdio.h> int main() { int i, j; for(i=6; i>3; i--) j=i; printf("%d%d\n",i,j); return...
阅读全文