编写一个C语言程序

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

#include <stdioh>

int main() {

int n, c = 0, num = 0;

do {

  printf("请输入一个二位数n(80<=n<=99): ");

  scanf("%d", &n);

}while (n < 80 || n > 99);

int a[100];

for (int i = 1; i <= n; i++)

  a[i] = 1;

while (c < n - 1) {

  for (int i = 1; i <= n; i++) {

    if (a[i] == 1)

      num++;

    if (num == 3) {

      a[i] = 0;

      c++;

      num = 0;

    }

  }

}

for (int i = 1; i <= n; i++)

  if (a[i] == 1)

    printf("最初是%d号\n", i);

return 0;

}

数学方法

#include <stdioh>

int main() {

int n, c = 0;

do {

  printf("请输入一个二位数n(80<=n<=99): ");

  scanf("%d", &n);

}while (n < 0 || n > 99);

for (int i = 2; i <= n; i++)

  c = (c + 3) % i;

printf("最初是%d号\n", c + 1);

return 0;

}

#include<stdioh>

typedef struct {

int   blood;

char type;

int   sleep;

}Fist;

Fist f[] = {

{1, "直拳", 1},

{3, "勾拳", 2},

{5, "摆拳", 2},

{8,"重拳",  5},

};

#define BLOOD (100)

#define TIME  (80)

int main()

{

   int t = TIME;

   int b = BLOOD;

   srand(time(NULL));

   while (t > 0) {

   int c = rand() % (sizeof(f)/sizeof(Fist));

   int r = rand() % 3;

   printf("一记%s过后", f[c]type);

   if (r == 2) {

   printf("闪开了\n");

   }

   else {

   printf("损失血精%d点\n", f[c]blood);

   b -= f[c]blood;

   if (b <= 0) break;

   }

   //sleep(f[c]sleep10);

   t -= f[c]sleep;

   }

   if (b > 0) {

   printf("英雄气概仍有精力%d点\n", b);

   }

   else {

   printf("继续 *** 练,你坚持了%d秒\n", TIME - t);

   }

   return 0;

}

c程序设计方法包括三个基本步骤:

第一步二分析问题

第二步画出程序的基本轮廓

第三步:实现该程序(1)编写程序;(2)测试和调试程序;(3)提供数据打印结果

应该多给几个例子,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数据类型了。使用递归不是最快的,重复计算多。

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

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

以上就是关于编写一个C语言程序全部的内容,包括:编写一个C语言程序、用C语言编写一个程序、c语言简单程序设计的步骤和过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存