九九乘法表

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("sum=%d",sum);
}
运行结果:
程序代码长度:17行
内存消耗量:
程序运行时间:
从键盘输入三个数,并比较其大小。
目标任务:从键盘输入三个数,并比较其大小
实施思想:
流程图:
#include <stdio.h>
main()
{
int i,j,temp,a[3];
for(i=0;i<3;i++)
内存消耗量:
程序运行时间:
从键盘输入三个数,并比较其大小。(用指针实现)
目标任务:用指针实现,从键盘输入三个数,并比较其大小。
实施思想:
流程图:
n个人的队列,从第m个开始,第K个人出列,问最后一个人是谁且显示出列顺序。
目标任务:n个人的队列,从第m个开始,第K个人出列,问最后一个人是谁且显示出列顺序
{
if(abs(j-i)>1)
{
for(z=0;z<4;z++) //第三个皇后
{
if(abs(z-j)>1&&z!=i)
{
for(k=0;k<4;k++) //第四个皇后
{
if((abs(k-z)>1&&k!=i)&&k!=j)
{
flag++;
printf("第%d种方法为:\n\n",flag);
char*p3="123456";
//123456在常量区,p3在栈区
//如果是调用,结束后p3会清楚,而123456不会清除
static int c=0;//全局初始化区
p1=(char *)malloc(10);
p2=(char *)malloc(20);
p1 = new char[10];
p2 = new char[20];
4.未初始化数据段(BSS)
未初始化数据是在程序中声明,但是没有初始化的变量,这些变量在程序运行之前不需要占用存储器的空间。
5.堆(heap)
堆内存只在程序运行时出现,一般由程序员分配和释放。在具有操作系统的情况下,如果程序没有释放,操作系统可能在程序(例如一个进程)结束后回收内存。
6.栈(stack)
k=0;
d++; /*如果到5,出圈*/
printf("%d is left\n",data[i]);
}
i++;
if(i==n)
i=0; /*如果报到队尾,则循环下去*/
}
for(i=0;i<n;i++)
if(data[i]!=0)
printf("%d is left\n",data[i]);
}
运行结果:
for(i=0;i<N;i++)
{
p=&a[i][0];
while(*p!='\n')
{
if(*p=='A')
{
if(*p=='A'&&*(p+1)=='B'&&*(p+2)=='C')
puts(a[i]);
}
p++;
}
}
}
运行结果:
程序代码长度:19行
内存消耗量:
程序运行时间:
四皇后问题
目标任务:
printf("%d*%d=%-4d",j,i,i*j);
printf("\n");
}
}
运行结果:
程序代码长度:11行
内存消耗量:
程序运行时间:
有1、2、3、4四个数,能组成多少个互不相同且无重复的三位数?都是多少?
目标任务:用1 2 3 4可以组成多少个互不重复的三位数,并显示出他们
实施思想:
流程图:
栈内存只在程序运行时出现,在函数内部使用的变量、函数的参数以及返回值将使用栈空间,栈空间由编译器自动分配和释放。
打印九九乘法表
目标任务:输出九九乘法表
实施思想:
流程图:
程序:
#include<stdio.h>
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
#include<stdio.h>
main()
{
int i,j,k,sum=0;
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
for(k=1;k<=4;k++)
{
if(i!=j&&i!=k)
{
printf("%d%d%d ",i,j,k);
sum++;
}
}
printf("\n");
scanf("%d",&a[i]);
for(i=0;i<2;i++)
{
for(j=i+1;j<3;j++)
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(i=0;i<3;i++)
printf("%d,",a[i]);
}
运行结果:
程序代码长度:19行
p=data[i];
for(i=0;i<n;i++)
*Байду номын сангаасp+i)=i+1;
i=m-1; /*数组中第i个元素的下标*/
b=0; /*从1到5报数的计数器*/
d=0; /*出圈人数*/
while(d<n-1)
{
if(*(p+i)!=0)
b++; /*如果不到5,报数*/
if(b==k)
{
*(p+1)=0;
实施思想:
流程图:
#include <stdio.h>
#define MAX 30
main ()
{
int i,k,m,n,d,b,data[MAX],*p;
printf("Enter munbers:");
scanf("%d %d %d",&n,&m,&k);
/*if(n<d) printf("error");*/
程序代码长度:19行
内存消耗量:
程序运行时间:
n个人的队列,从第m个开始,第K个人出列,问最后一个人是谁且显示出列顺序(用链表实现)
目标任务:用链表实现,n个人的队列,从第m个开始,第K个人出列,问最后一个人是谁且显示出列顺序
实施思想:
流程图:
要求从键盘上输入五个字符串显示出那个字符串中含有“ABC”把他们显示出来目标目标任务:要求从键盘上输入五个字符串显示出那个字符串中含有“ABC”把他们显示出来
只读数据段是程序使用的一些不会被更改的数据,使用这些数据的方式类似查表式的操作,由于这些变量不需要更改,因此只需要放置在只读存储器中即可。
3.已初始化读写数据段(RW data)
已初始化数据是在程序中声明,并且具有初值的变量,这些变量需要占用存储器的空间,在程序执行时它们需要位于可读写的内存区域内,并具有初值,以供程序运行时读写。
实施思想:
流程图:
#include<stdio.h>
#include<math.h>
int flag=0; //找完一次标志位
void fun(int i,int j,int z,int k)
{
int m,n;
int tab[4]={0};
tab[0]=i;
tab[1]=j;
tab[2]=z;
tab[3]=k;
//分配得来的字节的区域就在堆区
strcpy(p1,"123456");
//123456放在常量区,编译器可能会将它
//与p3所指向的“123456”优化到一个地方
}
a,*p1为全局变量,存在全局数据区,初始化的和未初始化的分别保存在一起。
b,*p2,*p3,为局部变量,普通局部变量保存在堆栈中。
c为静态局部变量,存在全局数据区。
作业要求:题目,任务分析,实施思想,实施算法,流程图,程序,注释,程序代码长度(汇编),内存消耗量,程序运行消耗机时数
一.请分析以下变量
inta=0;//全局初始化区
char*p;//全局未初始化区
void main()
{
intb;//栈区
chars[]="abc";//栈区
char *p2;//栈区
fun(i,j,z,k);
printf("\n\n\n");
}
}
}
}
}
}
}
}
运行结果:
程序代码长度:19行
内存消耗量:
程序运行时间:
拆半查找
目标任务:
实施思想:
流程图:
运行结果:
程序代码长度:19行
内存消耗量:
程序运行时间:
实施思想:
流程图:
#include <stdio.h>
#include <string.h>
#define N 3
#define M 5
void main()
{
int i,j;
char *p;
char a[N][M];
printf("before:");
for(i=0;i<N;i++)
{gets(a[i]);}
char []=”abc”存在非初始化数据段。
一个程序在内存中一下几个部分组成。
1.代码段(Code或Text)
代码段由程序中执行的机器代码组成。在C语言中,程序语句进行编译后,形成机器代码。在执行程序的过程中,CPU的程序计数器指向代码段的每一条机器代码,并由处理器依次运行。
2.只读数据段(RO data)
for(m=0;m<4;m++)
{
for(n=0;n<4;n++)
{
if(n==tab[m])
printf(" 1");
else
printf(" 0");
}printf("\n");
}
}
void main(void)
{
int i,j,z,k;
for(i=0;i<4;i++) //第一个皇后
{
for(j=0;j<4;j++) //第二个皇后
相关文档
最新文档