c语言水仙花数

c语言水仙花数,第1张

#include <stdioh>

int main()

{

int start, end, i = 0, a, b, c, size = 0;

while (scanf("%d %d", &start, &end) == 2)

{

for (i = start; i <= end; i++)

{

a = i / 100;

b = i / 10 % 10;

c = i % 10;

//total = pow(c, 3) + pow(a, 3) + pow(b, 3);

if ((aaa + bbb + ccc) == i)  //满足水仙花条件

{

if (size == 0)   //size=0输出第一个水仙花数

{

printf("%d", i);

}

else     //size++输出第二。。第n个水仙花数

{

printf(" %d", i);

}

size++;   //个数++;

}

}

if (size == 0)   //范围内个数为0,则说明没有满足条件的

{

printf("no");

}

printf("\n");

}

return 0;

}

扩展资料:

需要注意的地方:

1将n整除以100,得出n在百位上的数字hun。

2将(n-i100)整除以10(或将n先整除以10再对10求模n/10%10),得出n在十位上的数字ten。

3将n对10取余,得出n在个位上的数字ind。

4求得这三个数字的立方和是否与其本身相等,若相等,则该数为水仙花数。

参考资料:

百度百科-水仙花数

87得到如下代码:

# include <stdioh>

# define SIZE 10

void del(char s, int v)

{

    int i, nn = 0;

    for (i = 0; s[i] != '\0'; ++i){

        if (v != s[i]){

            s[nn++] = s[i];

        }

    }

    s[nn] = '\0';

}

int main ()

{

    char str[1024], ch;

    gets(str);

    fflush(stdin);

    printf ("输入要删除的元素:");

    ch = getchar();

    del(str, ch);

    puts(str);

    return 0 ;

}

88得到如下代码,在指定位置增加一个元素

# include <stdioh>

# define SIZE 10

void insIn(char s, char v, int pos)

{

    int len = 0, i;

    while (s[len] != '\0')len++;

    if (pos < 0 || pos > len){

        printf ("错误位置");

        return ;

    }

    if (pos == len){

        s[len] = v;

    }

    for (i = len-1; i >= pos; --i){

        s[i+1] = s[i];

    }

    s[pos] = v;

    s[len+1] = '\0';

}

int main ()

{

    char str[1024], ch;

    int pos;

    gets(str);

    fflush(stdin);

    printf ("输入要插入的元素及位置(位置从0开始):");

    scanf ("%c%d", &ch, &pos);

    insIn(str, ch, pos);

    puts(str);

    return 0 ;

}

学校实验楼有7名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的休息日如下:

钱:星期一、星期六

赵:星期二、星期四

孙:星期三、星期日

李:星期五

周:星期一、星期四、星期六

吴:星期二、星期五

陈:星期三、星期六、星期日

运行结果:

Solution: 1 赵 钱 孙 李 周 吴 陈 =============================================================

星期四 星期一 星期三 星期五 星期六 星期二 星期日

Solution: 2 赵 钱 孙 李 周 吴 陈 =============================================================

星期四 星期一 星期日 星期五 星期六 星期二 星期三

Solution: 3 赵 钱 孙 李 周 吴 陈 =============================================================

星期四 星期六 星期三 星期五 星期一 星期二 星期日

Solution: 4 赵 钱 孙 李 周 吴 陈 =============================================================

星期四 星期六 星期日 星期五 星期一 星期二 星期三

#include <stdioh>

int n = 0;

int rest[7][7];

void swap(int a, int b)

{

int m;

m = a;

a = b;

b = m;

}

void perm(int list[], int k, int m)

{

int i;

int j;

if(k > m)

{

for (i=0; i<7; i++)

{

for (j=0; j<7; j++)

{

if (rest[i][j] == -1)

return;

if (rest[i][j] != list[i])

continue;

if (rest[i][j] == list[i])

break;

}

}

n++;

printf("Solution: %d\n", n);

printf("赵 钱 孙 李 周 吴 陈\n");

printf("=============================================================\n");

for(i = 0; i <= m; i++)

{

switch (list[i])

{

case 1: printf("星期一 ");

break;

case 2: printf("星期二 ");

break;

case 3: printf("星期三 ");

break;

case 4: printf("星期四 ");

break;

case 5: printf("星期五 ");

break;

case 6: printf("星期六 ");

break;

case 7: printf("星期日 ");

break;

default:

break;

}

}

printf("\n\n\n");

}

else

{

for(i = k; i <= m; i++)

{

swap(&list[k], &list[i]);

perm(list, k + 1, m);

swap(&list[k], &list[i]);

}

}

}

int main()

{

int list[] = {1, 2, 3, 4, 5, 6, 7};

int i, j;

for(i = 0; i < 7; i++)

{

printf("Enter the day of %d people rests:\n", i+1);

for(j = 0; j < 7; j++)

{

scanf("%d", &rest[i][j]);

if(rest[i][j] == -1)

break;

}

}

printf("\n\n\n");

perm(list, 0, 6);

printf("total:%d\n", n);

getchar();

getchar();

return 0;

}

学校实验楼有7名保安人员:。钱,赵,孙,李,周,吴,陈由于工作需要进行轮休制度,一星期中每人休息一天预先让每一个人选择自己认为合适的休息日。请编制程序,打印轮休的所有可能方案当然使每个人都满意,例如每人选择的休息日如下:

钱:星期一,星期六

赵:星期二,星期四

孙:星期三,星期日

李:星期五

周:星期一,星期四,星期六

吴:星期二,星期五

陈:星期三,星期六,星期日

运行结果:

解决方案:1赵钱孙李周吴陈================================== =====================

星期四星期一星期三星期五星期六星期二星期日

解决方案:2赵钱孙李周吴陈================================== =====================

星期四星期一星期二星期五

解决方案:3赵钱孙李周吴陈================================== =====================

星期四星期六星期三星期五星期一星期二星期日

解决方案:4赵钱孙李周吴陈================================== =====================

星期四星期六星期二星期五星期一星期二星期三

#include <stdioh>

int n = 0;

休息[7] [7];

void swap(int a,int b)

{

int m

m = a;

a = b;

b = m;

}

void perm(int list [],int k,int m)

{

int i

int j

如果(k> m)

{

for(i = 0; i <7; i ++)

{

for(j = 0; j <7; j ++)

{

if(rest [i] [j] == -1)

返回;

if(rest [i] [j]!= list [i])

继续;

if(rest [i] [j] == list [i])

打破;

}

}

的n ++;

printf(“解决方案:%d \ n”,n);

printf(“赵钱孙李周吴陈\ n”);

的printf(“=============================================== ============== \ n“);

for(i = 0; i <= m; i ++)

{

switch(list [i])

{

案例1:printf(“星期一”);

打破;

情况2:printf(“星期二”);

打破;

案例3:printf(“星期三”);

打破;

情况4:printf(“星期四”);

打破;

情况5:printf(“星期五”);

打破;

情况6:printf(“星期六”);

打破;

案例7:printf(“星期日”);

打破;

默认:

打破;

}

}

的printf( “\ n \ n \ n”);

}

其他

{

for(i = k; i <= m; i ++)

{

交换(&list [k],&list [i]);

perm(list,k + 1,m);

交换(&list [k],&list [i]);

}

}

}

int main()

{

int list [] = {1,2,3,4,5,6,7};

int i,j;

for(i = 0; i <7; i ++)

{

printf(“输入%d人的日子休息:\ n”,i + 1);

for(j = 0; j <7; j ++)

{

scanf(“%d”,&rest [i] [j]);

if(rest [i] [j] == -1)

打破;

}

}

的printf( “\ n \ n \ n”);

perm(list,0,6);

printf(“total:%d \ n”,n);

的getchar();

的getchar();

返回0;

}

以上就是关于c语言水仙花数全部的内容,包括:c语言水仙花数、C语言设计案例张传学P110编写函数山一个元素、c语言程序翻译,急等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9466371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存