#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语言简单程序设计的步骤和过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)