求解C语言编程题,,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求解C语言编程题,,相关的知识,希望对你有一定的参考价值。

输出10~999之间的整数,满足条件(本身、其平方、其立方均为回文),每5个数换行。

按照题意,程序输出只有3个数满足条件。

#include <stdio.h>
#include<string.h>
int huiw(int num);//判断回文数,是返回1 否返回0。num最大999立方=997002999未超int32范围
int main()

    int num=10,count=0;
    while(num<=999)
    
        if(huiw(num) && huiw(num*num) && huiw(num*num*num))
        
            printf("%d ",num);
            count++;

            if(count==5)
            
                printf("\\n");//每5个换行
                count=0;
            
        
        num++;
    
    return 0;

int huiw(int num)

    char str[10],*p0,*p1;
    sprintf(str,"%d",num);
    p0=str;
    p1=&str[strlen(str)-1];
    while(p0<p1)
    
        if(*p0!=*p1)
            return 0;
        p0++;
        p1--;
    
    return 1;

参考技术A #include <stdio.h>
int huiw(int n)

int m=0,k;
k=n;
while(k)
m=m*10+k%10;k/=10;
if(m==n) return 1;
else return 0;

void main()

int i,n=0;
for(i=10;i<=999;i++)
if(huiw(i)*huiw(i*i)*huiw(i*i*i)==1)

printf("%-4d",i);
n++;
if(n%5==0) printf("\\n");

本回答被提问者采纳

C语言习题:苹果装盘问题丨用递归如何求解?

一、问题提出

问题:把m个苹果放入n个盘子中,允许有的盘子为空,共有多少种方法?

注:

5,1,1和1 5 1属同一种方法

m,n均小于10

二、算法分析

设f(m,n) 为m个苹果,n个盘子的放法数目,则先对n作讨论,

当n>m:必定有n-m个盘子永远空着,去掉它们对摆放苹果方法数目不产生影响。即if(n>m) f(m,n) = f(m,m)

当n<=m:不同的放法可以分成两类:

有至少一个盘子空着,即相当于f(m,n) = f(m,n-1);

所有盘子都有苹果,相当于可以从每个盘子中拿掉一个苹果,不影响不同放法的数目,即f(m,n) = f(m-n,n).而总的放苹果的放法数目等于两者的和,即 f(m,n) =f(m,n-1)+f(m-n,n)

递归出口条件说明:

当n=1时,所有苹果都必须放在一个盘子里,所以返回1;

当m==0(没有苹果可放)时,定义为1种放法;

三、程序设计

#include <stdio.h>

#include <stdlib.h>

int appledivide(m,n);

int main()

{

    int m,n;

    printf("请输入苹果和盘子个数(均小于10):\\n");

    scanf("%d%d",&m,&n);

    if(m<10&&n<10)

    {

        int result = appledivide(m,n);

        printf("将%d苹果,放入%d个盘子,共有%d中方法",m,n,result);

    }

    else

        printf("苹果或盘子个数应小于10");

    return 0;

}

int appledivide(m,n)

{  // 如果碟子只有1个,无论苹果有多少个都只有一种放法

    if(m==0||n==1)

    {

        return 1;

    }

    //如果碟子的个数大于苹果的个数

    if(n>m)

    {

        return appledivide(m,m);

    }

    else

    {

        return appledivide(m,n-1) + appledivide(m-n,n);

    }

}

四、程序结果显示

示例:9个苹果9个盘子

如果你也喜欢编程,想学C/C++的话!如果你也想让自己成为一个具有真材实料的厉害的程序员,不妨从现在开始!

C语言C++编程学习交流圈子,QQ群:829164294点击进入】微信公众号:C语言编程学习基地

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

编程学习视频分享:

 

 

以上是关于求解C语言编程题,,的主要内容,如果未能解决你的问题,请参考以下文章

两道c语言题目求解

求解C语言编程题,,

C语言的一道题,急求解。

求解两道C语言的编程

高分悬赏 求解2道MATLAB编程题目

C语言数据结构求解