用c语言编写一个程序

用c语言编写一个程序,第1张

应该多给几个例子,n=10的时候如何处理?得到10,110,210,1210等等?

若是这样的,试试下面程序

/

用c语言编写一个程序:对于一个自然数n(n<=50),统计具有下列数字的个数,

并输出所有符合条件的数字:自然数n,在n的左边加上一个自然数,

但该自然数不能超过原数的一半;继续按此规则进行处理,直到不能加自然数为止。

例如当n=6时,符合条件条件的是:6,16,26,36,126,136共6个;

当n=5时,符合条件的是:5,15,25,125(0也是自然数,所以要加上本身)。。。

/

#include <stdioh>

#include <stdlibh>

int g_count=0;

void fun(int n,int d,int b)

{

int i;

printf("%8d ",d);

g_count++;

if(g_count%8==0) printf("\n");

for(i=1;i<=n/2;i++)

{

fun(i,ib+d,b10);

}

}

void result(int n)

{

int t=n,d=n,b=10;

printf("result:\n");

g_count=0;

while(t>=10)

{

t/=10;

b=10;

}

fun(n,d,b);

printf("\ntotal %d numbers\n\n",g_count);

}

int main()

{

int n;

printf("input n(n<=50):\n");

while(scanf("%d",&n)!=EOF)

{

if(n>=0&&n<=50) result(n);

printf("input n(n<=50):\n");

}

return 0;

}

我这,若是放开n的限制,n=200的时候,计算花掉20多秒吧,总共205658个。

n=300的话,算了几分钟都没结束。估计也得使用long long数据类型了。使用递归不是最快的,重复计算多。

百度推荐也不求真相?有误导了吧。

对于楼主新补充的提升,我的程序是这样做的,满足你的要求。

#include<iostream>

#include<typeinfo>

using namespace std;

const int PI=314;

template<typename T>

class Circle{

private:

T r;

public:

Circle(){r=0;}//无参构造函数

Circle(T x):r(x){}//带参构造函数

void show()

{

cout<<r<<endl;

}

T area()

{

return PIrr;

}

};

int main()

{

/int/

Circle<int> a(3);

ashow();//输出半径

cout<<aarea()<<endl;//输出面积

/double/

Circle<double> b(32);

bshow();//输出半径

cout<<barea()<<endl;//输出面积

return 0;

}

#include<stdio> //这个是头文件 也是 C语言里面最常用的头文件之一

int main()//这个是主函数 也就是程序的入口 你写的程序就是从这里开始的

{ //这个 { }表示里面的范围 是必须的 跟main 主函数是不可分的

int a=2; //这里表示有一个 int型的数据a(int型就是整数型)把2 赋值给a,你先理解为a=2

printf(“%d,a”);//printf函数的意思是在界面输入,%d 的意思是 整形数据的输出格式 对应的 是a,而每一段结束后都要用 ; 去表示结束

return 0; //这个表示 返回 0 给主函数 ,你理解为结束语句也行。

}

以上就是关于用c语言编写一个程序全部的内容,包括:用c语言编写一个程序、C语言程序编写、用C语言编写一个简单程序,有哪些步骤,可以举一个例子详细讲解下吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存