c语言设计思路
1. 询问一下c语言程序设计思路
如果用比较简单的来写,则不需要用C语陪缓颤言的指针!可以用一个变量A储存随机数,A=rand()%36+1; 这样就好了,然后用另一个变量B储存用户输入的数字,
scanf("%d",&B); 然后用一个变量保存用户的金额Money,每一次下注的金额用另一个变量D保存,然后用户输入下注金额D,判断D<=Money, 成立,然后再判断哪旁A是否等于B,如果A=B,则Money=Money+5*D,否则Money=Money-D。 再芦败于外侧设计一个大循环,判断Money是否大于0,Money>0时进入循环,Money=0时要求用户存入金额……
2. C语言课程设计 设计思路
首先加载本地文件保存的信息,创建链表,并统计个数,然后根据选择的操作执行相应的方法
3. C语言程序设计思路
代码只是实现了逆序输出,而没有把sentence中的内容逆序,每逆序输出一个单词,都用结束符来替换。
#include "stdio.h"
#include "string.h"
void InverseByWord(char *sentence)
{
int n,i,j;
n=strlen(sentence);// 计算字符串长度。
for(i=n-1;i>-1;i--)// 从最后一个元素开始循环,直到第一个元素
{
if(*(sentence+i)=='\0')//如果是结束符的话,仍然设置为结束符。由于字符串长度不变,所以结束符位置不变。
{
printf("%c",*(sentence+i));// 输出结束符
*(sentence+i)='\0';//设置结束符
}
if(*(sentence+i)==' ')// 如果是空格的话,说明新的单词开始。
{
n=strlen(sentence);// 计算字符串长度
for(j=i+1;j<n;j++)// 从i+1开始输出新的单词
{
printf("%c",*(sentence+j));
*(sentence+j)='\0';// 输出后清除字符。
}}}
printf("%s\n",sentence);//输出字符串
}
void main()
{
char pStr[100]="This is an interesting programe";
InverseByWord(pStr);
}
4. 使用C语言编写一个项目都有什么思路呀
要看平台呀,但是一般情况下,有两种选择,一是阻塞式,二是异步式的,阻塞式的就不用多说了,异步式程序:
主函数-》初始化-》建立不要的子线程用来管理以后的子线程,绘图,更新时间等等,然后在主函数中设置无限循环检查有没有消息送到程序中,有就按照适合的算法处理它,没有就继续循环。
这是框架思路,当然更细的感觉是自己一点点用脚(手指)上的泡换来的,很难用言语表达,自己尝试着制作一个软件级别的程序,成功了马上就会有感觉的。
5. C语言编程中写程序的思路和方法
我的经验是随时把握“一分为二”的编程思路,就是任何一个问题把她分解成子问题,然后在把子问题在向下分解直到可以用“算法”实现,套用结构化程序设计的说法就是逐步求精的过程。
6. c语言课程设计:图书管理系统设计的基本思路是什么
图书管理系统主要要求可以录入书籍,添加书目,查找书本信息,删除或修改信息,有的还要求显示是否被借阅等。
一般采用结构体数组,链表,文件操作和自定义函数。主要是需要对基础知识掌握牢固。
先定义结构体,然后对结构体的成员进行定义,选择数组存储书本各种信息。录入信息可以用for和do while循环等来做。
存放信息需要文件操作函数,比如fopen,fwrite等。
删除和添加可以删除节点或者增加节点。
查找之类的可以用字符串操作的各种函数实现。
附上参考源代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#definebooks"f:\books.txt"
#definebooksbak"f:\booksbak.txt"
structbookinfo
{
charisbn[20];
chartitle[30];
charauthor[20];
intcount;
};
structbook
{
structbookinfoonebook;
structbook*next;
};
structbook*searchBook(structbook*listptr,charisbn[])
{
while(listptr!=(structbook*)0)
if(strcmp(listptr->onebook.isbn,isbn)==0)
returnlistptr;
else
listptr=listptr->next;
return(structbook*)0;
}
voidMainSearchbook(structbook*firstptr)
{
structbook*ptr;
charisbnno[20];
printf("请输入ISBN:");
scanf("%s",&isbnno);
ptr=searchBook(firstptr,isbnno);
if(ptr!=(structbook*)0)
{
printf("找到了!!! ");
printf("ISBN:%s ",ptr->onebook.isbn);
printf("Title:%s ",ptr->onebook.title);
printf("Author:%s ",ptr->onebook.author);
}
else
printf("sorry,notfound!!! ");
}intaddBook(structbook*listptr,structbookinfonote)
{
while(listptr->next!=0)
listptr=listptr->next;
listptr->next=(structbook*)malloc(sizeof(structbook));
listptr->next->onebook=note;
listptr->next->next=0;
return0;
}
voidMainAdd(structbook*listptr,FILE*fp)
{
intok;
structbookinfonote;
printf("请输入ISBN:");
scanf("%s",¬e.isbn);
printf("请输入Title:");
scanf("%s",¬e.title);
printf("请输入Author:");
scanf("%s",¬e.author);
ok=addBook(listptr,note);
if(ok==0)
{
//将加入的图书写到文件中保存
fprintf(fp," %s%s%s%d",note.isbn,note.title,note.author,0);
printf("添加图书成功!!! ");
}
else
printf("添加图书失败!!! ");
}
intremoveBook(structbook*listptr,charisbn[])
{
while(listptr->next!=(structbook*)0)
{
if(strcmp(listptr->next->onebook.isbn,isbn)==0)
{
listptr->next=listptr->next->next;
return0;
}
else
listptr=listptr->next;
}
return-1;
}
voidMainRemove(structbook*listptr,FILE*fp)
/************************************************************************/
/*删除书籍函数,通过ISBN删除链表节点,同时删除文件中对应信息*/
/*删除文件中一行,用的是笨方法,把需要的信息写到新文件,删除旧文件,重命名..*/
/************************************************************************/
{
charisbnno[20];
intok;
structbookinfoonebook;
printf("请输入ISBN:");
scanf("%s",&isbnno);
ok=removeBook(listptr,isbnno);
if(!ok)
{
FILE*fpbak;
if((fpbak=fopen(booksbak,"a+"))==NULL)
printf("文件打开失败!!! ");
fseek(fp,0,SEEK_SET);//移到文件开始
while((fscanf(fp,"%s%s%s%d ",&onebook.isbn,&onebook.title,&onebook.author,&onebook.count))!=EOF)
{
if(strcmp(onebook.isbn,isbnno)!=0)
{
fprintf(fpbak,"%s%s%s%d ",onebook.isbn,onebook.title,onebook.author,onebook.count);
}
}
fclose(fp);
fclose(fpbak);
if(remove(books))//删除失败返回非0
{
printf("删除文件失败!!! ");
return;
}
else
if(rename(booksbak,books))//重命名失败返回非0值
{
printf("重命名失败!!! ");
return;
}
printf("删除成功!!! ");
}
else
printf("查无此书!!!");
}
intchoice(void)
{
intc;
printf("1.查看图书 ");
printf("2.添加图书 ");
printf("3.删除图书 ");
printf("4.退出程序 ");
printf("请选择序号:");
returnc=getchar();
//returnc=getche();
printf(" ");
}
intaddEntry(FILE*fp,structbook*firstptr)
/************************************************************************/
/*主要用来加载文件中存放的图书信息*/
/************************************************************************/
{
structbookinfoonebook;
while((fscanf(fp,"%s%s%s%d ",&onebook.isbn,&onebook.title,&onebook.author,&onebook.count))!=EOF)
{
while(firstptr->next!=0)
firstptr=firstptr->next;
firstptr->next=(structbook*)malloc(sizeof(structbook));
firstptr->next->onebook=onebook;
firstptr->next->next=0;
}
return0;
}
intmain(intargc,char*argv[])
{
intch;
structbookfirst;
strcpy(first.onebook.isbn,"123456");
strcpy(first.onebook.title,"ProgrammingC");
strcpy(first.onebook.author,"yhb");
first.next=0;
structbook*firstptr=&first;//链表头指针
FILE*fp;
if((fp=fopen(books,"a+"))==NULL)
printf("文件打开失败!!!");
addEntry(fp,firstptr);
while(1)
{
system("CLS");//清屏
/************************************************************************/
/*想想这里为什么要清空缓冲区?*/
/*由于上一次(choice函数)的getchar(),还有一个' '留在缓冲区....*/
/*可以把这句话注释掉看看,没有这句话会遇到麻烦*/
/*如果不用fflush,可以将上面的getchar()换成getche()*/
/*比较getchar(),getch(),getche()......*/
/************************************************************************/
fflush(stdin);
ch=choice()-48;
switch(ch)
{
case1:
MainSearchbook(firstptr);
break;
case2:
MainAdd(firstptr,fp);
break;
case3:
MainRemove(firstptr,fp);
break;
case4:
printf("谢谢使用... ");
exit(0);
default:
printf("请输入正确序号!");
}
system("PAUSE");
}
return0;
}
7. C语言程序设计,求思路。
intmain()
{charwk[8][3]={"","一","二","三","四","五","六","日"};
intq,za=4,s,l=5,zo,w=2,c,k=0;
for(q=1;q<7;q+=5)
{for(s=3;s<8;s+=4)
{if(s-q)
for(zo=1;zo<7;zo+=5)
if(zo-q&&zo-s)
{c=17-q-s-zo;
printf("Solution:%d
",++k);
printf("赵钱孙李周吴陈
");
printf("==================================================
");
printf("星期%s星期%s星期%s星期%s星期%s星期%s星期%s
",
wk[za],wk[q],wk[s],wk[l],wk[zo],wk[w],wk[c]);
}}}
return0;
}
8. 对于C语言编程思路是什么
其实你没有必要话流程图,但是你要做得很仔细 就不一样。其实我个人觉得,我们做C语言的程序就是把自己的想法表达出来,你在做的时候就把你的大脑想成计算机(其实都差不多),然后你把一个一个的步骤表达出来就好。主要就是你大脑里面先要有构思,我这个程序究竟应该怎么表达,先想大体的框架,然后我的每一个细节该用什么方式表达,具体要到每一个小的循环,还有就是当你一下方法熟悉以后就可以在思考的时候把这个东西直接想成已经构思好的(就好像你自己事先就编辑好的函数一样),现在就只有需要拿过来用,当你都能够看见一个题目,10秒钟想到大体思路,1分钟想到具体实现的办法,然后把这个你自己想的编译就没有逻辑错误,那你就比较好了。
总之,上面最关键的就是:变成是把自己的思想(方法)用计算机语言表达出来。你只要把这个你自己的想法一步一步的按照电脑运行(意思是这个语言的语法)的方式把他输入电脑内,然后让计算机来帮忙你做这个本来你能够做的事情(但是很麻烦),你的程序就好了,虽然说你的程序不一定精巧,但是你能够实现你自己想的功能,你就成功了第一步。
9. 如何写C语言设计思路
搂主讲的有些笼统 是针对具体问题谈告设计c语言解决方案吗?
c语言设计思路
解决问题两个阶段 :第一阶段 用人类的思维方式给出解决问题的步骤,针对问题本身进行分析,找出解空间。(算法的抽象)。第二阶段把以上的方案局薯映射为C语言,用数据结构如何表示你要处理 的对象或数据,用算法和控制流程如何模拟第一步的桐侍者解决方案。
10. c语言程序设计的基本思想
模块化的思想
模块化程序的特点:单入口、单出口
基本的三种结构:顺序、分支(选择)、循环;
这三个基本结构来安排模块执行的步骤;
循环三要素:初值、条件、更新;
面对编程问题:三步走策略(输入+处理+输出);
编程思想:分而治之+变量跟踪+换位思考
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。