循环结构程序设计

参考链接:http://blog.csdn.net/litiouslove/article/details/7891700

水仙花数(daffodil)

题目:输出100 ~ 999中的所有水仙花数,若3位数ABC满足ABC = A^3 + B^3 + C^3,则称其为水仙花数。例如153 = 1^3 + 5^3 + 3^3,所以153是水仙花数。
源码:

#include <stdio.h>  
int main(void)  
{  
    int i, a, b, c;  
    for(i = 100; i <= 999; i++)  
    {  
        a = i/100;  
        b = i/10%10;  
        c = i%10;  
        if(i == a*a*a + b*b*b + c*c*c)  
            printf("%d is a daffodil number.\n", i);  
    }  
    return 0;  
}  

韩信点兵(hanxin)

题目:韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次都只是掠一眼队伍的排位就知道人数了。输入3个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100。
样例输入: 2 1 6
样例输出: 41
样例输入: 2 1 4
样例输出: No Answer
源码:

#include <stdio.h>  
int main(void)  
{  
    int i, a, b, c;  
    scanf("%d%d%d", &a, &b, &c);  
    for(i = 10; i <= 100; i++)  
    {  
        if(i%3 == a && i%5 ==b && i%7 ==c)  
        {  
            printf("%d\n", i);  
            break;  
        }  
    }  
    if(i == 101)  
        printf("No answer");  
    return 0;  
}  

倒三角形(triangle)

题目:输入正整数n<=20,输出一个n层的倒三角形。例如n=5时输出如下:

#########  
 #######  
  #####  
   ###  
    #  

源码:

#include <stdio.h>  
int main(void)  
{  
    int i, j, k, n;  
    scanf("%d", &n);  
    for(i = 0; i < n; i++)  
    {  
        k = i;  
        for(j = 0; j < k; j++)  
            printf(" ");  
        for(j = 0; j < 2*n-2*i-1; j++)  
            printf("#");  
        printf("\n");  
    }  
    return 0;  
}  

子序列的和(subsequence)

题目:输入两个正整数n<m<10^6,输出1/n^2 + 1/(n+1)^2 + …… + 1/m^2,保留5位小数。例如n=2,m=4时答案是0.42361;n=65536,m=655360时答案为0.00001。注意:本题有陷阱。
分析:还是for循环累加。本题陷阱在于n比较大时,nn会溢出,所以 1/n^2 应该用 1/n/n 而不是 1/(nn)。
源码:

#include <stdio.h>  
int main(void)  
{  
    int n, m, i;  
    double sum = 0;  
    scanf("%d%d", &n, &m);  
    for(i = n; i <= m; i++)  
        sum += 1.0/i/i;  
    printf("%.5lf\n", sum);  
    return 0;  
}  

分数化小数(decimal)

题目:输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b <= 10^6,c <= 100。例如a=1,b=6,c=4时应输出0.1667.
分析:考察格式化输出,printf("%.lf", x, y, z); 中两个可用后边的变量表示。*
源码:

#include <stdio.h>  
int main(void)  
{  
    int a, b, c;  
    double x;  
    scanf("%d%d%d", &a, &b, &c);  
    x = 1.0*a/b;  
    printf("%.*lf\n", c, x);    //printf("%*.*lf", x, y, z) 第一个*对应x,第二个*对应y,lf对应z  
    return 0;  
}  

排列(permutition)

题目:用1,2,3……9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi = 1:2:3。输出所有解。提示:不必太动脑筋。
分析:利用数组,a[1]~a[9]赋值为0,令a[出现的数字] = 1,若a[1] + a[2] + …… +a[9] == 9,则全部数字都出现。
源码:

#include <stdio.h>  
int main(void)  
{  
    int x, y, z, a[10] = {0};  
    for(x = 100; x < 333; x++)  
    {  
        y = 2*x;  
        z = 3*x;  
        //令a[出现的数字] = 1  
        a[x/100] = a[x/10%10] = a[x%10] = 1;  
        a[y/100] = a[y/10%10] = a[y%10] = 1;  
        a[z/100] = a[z/10%10] = a[z%10] = 1;  
        int i, s = 0;  
        for(i = 1; i < 10; i++)  
            s += a[i];  
        if(s == 9)  
            printf("%d\t%d\t%d\n", x, y, z);  
        for(i = 1; i < 10; i++)  //重新赋值为0  
            a[i] = 0;  
    }  
    return 0;  
}  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容