2021-07-15循环作业

第一次作业

1,函数返回一个值给主函数临时空间由什么来承担?
临时空间具有常性(只允许读不允许改)
eax,ebx,ecx,edx,寄存器
eax作为累加器,有些时候也作为程序计数的返回值,占32个2进制位,4个字节,用ax访问后面16位,aL访问最后8位,ah访问ah的8位,前面的16位会移到后面用ah,aL,ax来访问;左高右低左边为高位;
在这里插入图片描述

ebx当作基地址;
ecx当作计数器来用;例如for循坏
edx与指针有关;
2,vs如何设置栈桢的大小?
3,如何改变程序的入口?
4,比较三个数中最大、最小、以及中间的数并打印出来(要求自己写函数)

#include<string.h>
#include<stdio.h>
#include <math.h>
int Int_Max(int a, int b, int c) 
{
	int max = 0;
	if (a > b)
	{
		max = a;
	}
	else if (max < c)
	{
		max = c;
	}
	return max;
}
int Int_Min(int a, int b, int c) 
{
	int min = a<b ? a : b;
	return min < c ? min : c;
}
int Int_Mid(int a, int b, int c)
{
	int mid = 0;
	int d = a > b ? a : b;
	int e= a < b ? a : b;
	if (d < c)
	{
		 mid=d;
	}
	else if (c<e) 
	{
		mid = e;
	}
	else 
	{
		mid = c;
	}
	return mid;
}
int main()
{
    int a, b, c;
	scanf_s("%d %d %d", &a, &b, &c);
	printf("三个数中最大的数的是:%d\n",Int_Max(a,b,c));
	printf("三个数中处于中处于中间的数:%d\n",Int_Mid(a, b, c));
	printf("三个数中最小的数的是:%d\n",Int_Min(a, b, c));
	return 0;
}

运行结果:
在这里插入图片描述

5,双for循坏打印乘法口诀表格

int main()
{
	for (int i=1;i<10;i++) 
	{
		for (int j=1;j<10;j++) 
		{  if(i+1<j)     
		 {
		printf("%d*%d=%d\t",i,j, i * j);
		}
		}
		printf("\n");
	}
	return 0;
}

运行结果:
:
6,把一维数组变为二维平面

#include <stdio.h>
#include<stdlib.h>//rand函数的头文件
#include<string.h>
#include<time.h>
void Pri()
{
	srand(time(nullptr));//得到不同的随机数列需要不同的种子值;
	int a[5] = { 0 };
	for (int i = 1; i < 5; i++)
	{
		a[i] = rand() % 4 + 1;//rand()%4得到0,1,2,3的随机数
		printf("%d", a[i]);
	}
	printf("\n");
	for (int i = 1; i < 5; i++)//用两个for循环来表示第一个表示行数
	{
	 for (int j = 1; j < 5; j++)
	 {
		if (a[i]==j)//判断在第几列
		{
			printf("@");
		}
		else {
			printf("#");
		}
		
	 }
	printf("\n");
	}
}
	int main()
{
	Pri();
	return 0;
}

在这里插入图片描述
7,给定一个一维数组

int main()
{
	int n = 0;
	printf("请输入数字:");
	scanf_s("%d", &n);
	for (int s = 1; s<= n; s++)//s为行数;
	{
	 for(int i=1;i<=n-s+1;i++)
	 {
		  int j = i + s;//j为块数;
		 for(int k=i;k<j;k++)//不同行的块里面存放的数量不一样多
		 {
			 printf("%d", k);
		 }
		 printf("\t");
	 }
	 printf("\n");
	}
}

运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值