编写一个程序 手机编程软件app
今天给各位分享编写一个程序的知识,其中也会对手机编程软件app进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
用c语言编写一个程序
应该多给几个例子,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<stdio.h>
#include<stdlib.h>
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,i*b+d,b*10);
}
}
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语言编写一个程序。
“该单词的后面紧跟着再次出现自己本身”怎么理解?大体说说思路,你得有个算法判断什么样的字符串算一个“单词”,可根据ASCII码,单词中可以有大小写字母,空格(
,\t,
),其他字符(&、*、……)都可以分隔单词。
输入一个字符串,程序算法切割为“单词”,存入链表或者数据库,再读入之后查询链表或者数据库,记录重复次数。
将一个单词定义为不包含空白字符(即没有空格、制表符或者换行符)的一系列字符,比如“googoogxf”和"s2t2"都是单词(单词中可以有数字,linux下vim的查找功能就基本以这种方法)。每个单词以首次遇到的非空白字符开始,在下一个空白字符出现时结束。检测空白字符比较简单的是用ctype.h中的isspace()函数。
========================================================
我刚才理解有错误贴出自己的代码,函数功能,输入一串字符串,统计其中有重复的单词并输出重复次数,间隔的重复情况未考虑,
#include<stdio.h>
#include<string.h>
intmain(intargc,char*argv[])
{
charinput[200];//存储从键盘输入的内容
char*str="
";//以空格或者换行符(最后一个回车)割字符
char*word_buf[50];//指针数组存放各个单词
printf("请输入字符串,各字符串以空格分隔:
");
if(fgets(input,200,stdin)==NULL)//从标准输入读入字符存储到input
{
perror("fgets");//读入出错则返回结束程序
return0;
}
inti=0,word_count=1;//word_count为单词重复数
word_buf[i]=strtok(input,str);
while(word_buf[i]!=NULL)
{
i++;
word_buf[i]=strtok(NULL,str);//strtok函数切割字符串
if(word_buf[i]==NULL)//如果到最后的换行符,退出循环,执行最后的if语句
{
break;
}
if(strcmp(word_buf[i],word_buf[i-1])==0)//判断当前单词跟上一个单词是否相等
{
word_count++;//如果当前单词跟上一个单词相同则word_count累加
}
else
{
if(word_count>=2)//如果不相等则判断之前的单词是否有重复,有则打印
{
printf("重复单词:%s该单词最大连续重复数:%d
",
word_buf[i-1],word_count);
}
word_count=1;//由于当前单词跟上一个单词不相等,故重复数统计变量重新设置
}
}
if(word_count>=2)//退出循环后的判断语句,
之前的单词有重复则打印
{
printf("重复单词:%s该单词最大连续重复数:%d
",
word_buf[i-1],word_count);
}
return0;
}
如何编写一个程序
编写一个程序需要经过多个步骤,从选择编程语言到最终运行程序。以下是详细的步骤指南:
选择编程语言和工具:首先,你需要选择一种编程语言,如C语言,并找到一个适合的编程软件或集成开发环境(IDE)。例如,对于C语言,你可以使用Dev-C++、Code::Blocks或Visual Studio等。
下载并安装软件:找到合适的编程软件后,下载并安装到你的电脑上。确保按照安装向导的指示完成安装过程。
创建新项目或文件:打开安装好的编程软件,通常可以通过点击“文件”菜单,然后选择“新建”或“新建项目”来创建一个新的源代码文件。
编写代码:在新建的源代码文件中,输入你学到的程序代码。这一步需要你对所选编程语言有一定的了解。
检查语法错误:编写完代码后,点击“编译”按钮来检查代码中是否有语法错误。如果有错误,软件通常会提示错误信息,你需要根据提示修改代码。
运行程序:当代码没有语法错误后,点击“运行”按钮来执行程序。程序的结果通常会显示在软件的输出窗口或控制台中。
调试和优化:如果程序运行结果不符合预期,你可能需要回到代码中进行调试,查找并修复逻辑错误。此外,还可以对代码进行优化,提高程序的效率和可读性。
保存和分享:最后,不要忘记保存你的源代码。如果你愿意,还可以将程序分享给他人,或者发布到开源平台上供他人学习和使用。
通过以上步骤,你就可以完成一个程序的编写和运行。记住,编程是一个不断学习和实践的过程,多写代码、多阅读优秀的开源项目,你的编程技能会不断提高。
如果你还想了解更多这方面的信息,记得收藏关注本站。