C语言程序设计程序编写题目应该怎么怎样去解,一般的分析方法是什么,如下题,请写出结果及分析过程,谢谢

1、请编写函数fun,函数的功能是: 移动字符串中的内容,移动的规则如下: 把第1到第m个字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。
例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
#include <string.h>
#define N 80
void fun1(char *w) /* 本函数的功能是将字符串中字符循环左移一个位置 */
{
int i; char t;
t=w[0];
for(i=0;i<(int)strlen(w)-1;i++)
w[i]=w[i+1];
w[strlen(w)-1]=t;
}
void fun(char *w, int m) /* 可调用fun1函数左移字符 */
{

}
main()
{ char a[N]= "ABCDEFGHIJK";
int m;void
printf("The original string:\n");puts(a);
printf("\n\nEnter m: ");scanf("%d",&m);
fun(a,m);
printf("\nThe string after moving:\n");puts(a);
printf("\n\n");
}

第1个回答  2010-09-10
void fun(char *w, int m) /* 可调用fun1函数左移字符 */
{
for(int i=0;i<m;i++)
fun1(w);
}

思路是这样的,我们已经知道了fun函数的目的是将字符串 w 向左移 m 位,而fun1函数已经为我们写好了,那么这时我们就可以判定:fun函数中的内容应该是将fun循环执行m次。

所以需要的是写一个循环,确定循环次数的循环,最简单的方法就是for循环了。
第2个回答  2010-09-11
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 80
void func(char *, int);
int main(void)
{ char a[N]= "ABCDEFGHIJK";
int m;
printf("The original string:\n");
puts(a);

printf("\n\nEnter m: ");
scanf("%d",&m);

func(a,m);

printf("\nThe string after moving:\n");
puts(a);

printf("\n\n");
}

void func(char *str,int m)
{
char *temp = NULL;
int i = 0;
int j = 0;

const int len = strlen(str) + 1;
temp = (char *)malloc(len);

strcpy(temp,str);

for(i=0,j=m;j<len-1;i++,j++)
{
str[i] = str[j];
}

for(i,j=0;i<len-1;i++,j++)
{
str[i] = temp[j];
}

str[i] = '\0';
free(temp);
}本回答被网友采纳

c语言 程序设计 解题步骤是什么
1、语法和逻辑处理,这个是最基本的基本功。一定要扎实。2、要有分层分离的概念,从整个框架来理解代码,最好可以作图辅助分析。3、了解技术相关的关键词以及功能作用,积少成多。4、c语言面向过程,C++、java面向对象。两种思想都需要学习并融合,才有机会成为牛人。

C语言中我如果看到一个题目,我该如何着手去编写程序
做算法问题的一般思路:先用数学方法计算分析,充分理解问题。在思考程序哪些地方应该用循环、指针或数组等细节问题之前,先要确定程序的大体框架,可以自己先试着用伪代码描述整个算法,然后再一步步的确定应该怎么编码。最后验证结果并反思能否改进算法。本题思路:1.在草稿纸上简单的分析发现,这个报数过程...

简述开发一个c语言程序的步骤
1. 问题分析与算法设计 在开始编写C语言程序之前,首先需要对要解决的问题进行分析,并设计相应的算法。算法应该明确且能够产生正确的结果,同时能在有限的时间内结束。算法的设计可以通过自然语言描述、伪代码或流程图来表达。2. 编辑程序 确定算法后,接下来是编写程序代码。在编程环境中,利用编辑功能直...

c语言程序设计大赛试题
我设计了一款程序,主要针对一些特定的数字,特别是那些不能被11整除的数字。程序的基本逻辑是首先检查输入的数字是否能被11整除。若能,则直接输出;若不能,则通过重新排列数字的每一位,尝试生成一个新的数字,该新数字能被11整除。为了实现这一目标,程序采用了一个数组来存储输入数字的每一位。具体...

如何用c语言解答下面的题目?
a&&b,a和b的逻辑与的值。是C语言里的一种逻辑表达式。&&表示的意思是数学中的逻辑与操作。在C语言中非0则是1,因为题目中a=4,b=5,所以a&&b的结果为1。所以题目中x的最后结果为1。计算过程a&&b=1,c<‘B’=1,x=1&&1,所以x=1。

计算机二级C语言程序设计该怎么做?
1.选择题:如果C语言有一定基础,考前一周开始刷题没大问题(因为刷早了会忘)。我发的模拟考试软件里有,做完题有讲解。另外背一背公共基础知识和一些程序设计基础,软件设计基础blabla,简单的一定要拿到!其次是数据结构和数据库设计基础,这些如果是零基础确实比较困难。从题库中看,这些题其实也都...

C语言程序设计实验报告怎么写啊
4、掌握循环语句的应用方法。5、了解随机数生成函数。[实验要求]在规定期限独立完成实验内容 1、提交实验报告(电子版)2、提交相应源程序文件(文件名 EX6_x姓名.c, 如EX6_1彭健.c)3、要求从简单到复杂,后面的要求均在前面的基础上进行修改,前六题,每题均需要保留各自的程序,六题以后,每题...

C语言综合设计
题目:用*号输出字母C的图案。1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。2.程序源代码: 复制代码代码如下: #include "stdio.h"#include "conio.h"main(){printf("Hello C-world!\\n");printf(" ***\\n");printf(" *\\n");printf(" * \\n");printf(" ***\\n");getch(); } ===...

帮忙完成一下这个C语言课设题目
设计一个程序用于猜测篮球的价格,最高价格设为1000,程序初始猜测值设为300。通过以下方法进行猜测:1. 首先,定义篮球价格变量为300,最高价格变量为1000,猜测值变量为150。2. 使用循环进行猜测。如果猜测值与实际价格不同,根据实际情况调整猜测值。如果猜测值大于实际价格,猜测值更改为猜测值的一半;...

简述开发一个c语言程序的步骤
1、问题分析与算法设计。算法是一组明确的解决问题的步骤,它产生的结果并可在有限时间内终止。可以用多种方式来描述算法包括自然语言,伪代码或流程图;2、编辑程序。当确定了解决问题的步骤后,就可以开始编写程序了。一般是在编程的环境中,应用其中的编辑功能直接来编写程序,生成源程序(对C语言来说...

相似回答