永发信息网

C语言程序设计思路

答案:7  悬赏:80  手机版
解决时间 2021-11-22 17:07
C语言程序设计思路
最佳答案
需要具体问题具体分析。
基本上可以按照以下流程,中间以设计一个成绩单为例:
1 了解问题。要解决问题,必须先了解每个细节。
如要设计一个成绩单,至少要包括录入成绩,成绩统计,成绩排序,成绩输出。
2 确定解决问题的流程,确认输入输出内容即内部需要做的操作。
输入:用户的选择指令,成绩的输入。
输出:程序的运行结果,也就是最终的成绩单。
操作:对成绩读入,对成绩累加得到总分,按照总分排序,输出排序后的成绩单。
3 设计操作算法。得出数据流图。
对每块的操作流程做设计。如如何读入成绩,如何排序,如何输出等。
4 编写代码。
将算法实体化,形成C代码。
5 测试并解决问题。
编译运行,尝试输入多组数据,测试结果是否与预期相同。如果不同,那么查找问题并修改代码。最终形成合格的程序。
全部回答
C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。
#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{
printf("%c",*(sentence+j)); //将后续数组元素输出
*(sentence+j)='\0'; //输出之后为其赋值'/0',即删除掉输出过的元素
}}}
printf("%s\n",sentence);
}
void main()
{
char pStr[100]="This is an interesting programe"; //给出要被操作的字符串,保存在数组中
InverseByWord(pStr); //调用逆序函数
}
上面头文件,

void InverseByWord(char *sentence)//定义函数,传需要逆序的参数
{
int n,i,j;
n=strlen(sentence);//获取字符串长度
for(i=n-1;i>-1;i--)
{
if(*(sentence+i)=='\0')//char pStr[100]逆序后结束符

{
printf("%c",*(sentence+i));
*(sentence+i)='\0';
}
if(*(sentence+i)==' ')//干掉pStr[100]空字符
{
n=strlen(sentence);//重新计算长度
for(j=i+1;j{
printf("%c",*(sentence+j));
*(sentence+j)='\0';//将空改为结束符
}}}
printf("%s\n",sentence);//输出字符串
}
void main()
{
char pStr[100]="This is an interesting programe";
InverseByWord(pStr);//逆序
}

好久不用,这个我不会了,仅供参考。如那位所说,VC调试看看嘛

代码只是实现了逆序输出,而没有把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)=='')//如果是结束符的话,仍然设置为结束符。由于字符串长度不变,所以结束符位置不变。
{
printf("%c",*(sentence+i));// 输出结束符

*(sentence+i)='';//设置结束符
}
if(*(sentence+i)==' ')// 如果是空格的话,说明新的单词开始。

{
n=strlen(sentence);// 计算字符串长度

for(j=i+1;j
{
printf("%c",*(sentence+j));
*(sentence+j)='';// 输出后清除字符。

}}}
printf("%s ",sentence);//输出字符串
}
void main()
{
char pStr[100]="This is an interesting programe";
InverseByWord(pStr);
}
1、对于任何语言当然也包含C语言,编程思路都是类似的,都离不开“数学”这个范畴,编程的目的其实根本一点就是对数据进行加工处理,从这一点出发,就理清了一个思路:
2、首先就是建立一个数据模型,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
{
printf("%c",*(sentence+j));
*(sentence+j)='\0';// 输出后清除字符。

}}}
printf("%s\n",sentence);//输出字符串
}
void main()
{
char pStr[100]="This is an interesting programe";
InverseByWord(pStr);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
清脆(qin)第一声是对的吗?
昆明地区卖车的地方有哪些?
可以把夜店经理的资源发给我吗谢谢!
先约分再比较下面每组分数的大小十二时十六分
若a,b为实数,且b=√a²-9+√9-a²+4
求助,怎么设置路由器的NAT类型
单只20W 4欧的音箱,用多大的功放。
我很讨厌我姑丈
开店买压面机在哪里买
永陶五轴水刀机如何使用教程
迪丽热巴有个弟弟真的吗?
20l6邹平县码头镇归苏小学六年级一班的成绩除
各位大神,咋看iPhone X是不是原封的
韩剧恶魔笔记百度云
一沓后面加什么词语
推荐资讯
电信宽带升级要到家里弄吗?
泰川市距离姜堰区有多少公里
现在网上骗子为什么那么多?
湖南省涟源市十七岁改名字需要什么手续?
妍丽美容坊地址在什么地方,我要处理点事!
如何使用jira做敏捷研发管理
老师让我上讲台讲点东西,但我不知道要讲什么
小孩能经常更好奶粉么
有没有什么故事能体现出法律是光明和希望的
冷车启动水温就到顶了,这是什么问题。
两款表带宽度一样,表盘不一样大小,请问弧形
龙口河地址在哪,我要去那里办事,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?