day9 4.11

  1. 二维数组作为参数传递,完成二维数组中元素的输入输出
linux@linux:~/test/day9$ ./a.out 
13 44 11 32 2 1
13	44	11	32	2	1	
linux@linux:~/test/day9$ cat test9.c
#include <stdio.h>

void fun(int arr[2][3])
{
	int i,j;
	for (i = 0;i<2;i++)
	{
		for (j = 0;j<3;j++)
		{
			scanf("%d",&arr[i][j]);
		}
	}
	for (i = 0;i<2;i++)
	{
		for (j = 0;j<3;j++)
		{
			printf("%d\t",arr[i][j]);
		}
	}
	putchar(10);
}
int main(int argc, char * argv[])
{
	int arr[2][3];
	fun(arr);
	return 0;
}

 优化

#include <stdio.h>
void fun(int (*p)[3],int h,int l); //功能函数的声明

int main(int argc, const char *argv[])
{
    int arr[2][3]={0};
    fun(arr,2,3);
    return 0;
}
//功能函数的定义
void fun(int (*p)[3],int h,int l)
{
    int i,j;
    for(i=0;i<h;i++)
    {
        for(j=0;j<l;j++)
        {
            scanf("%d",*(p+i)+j);
        }
    }
    for(i=0;i<h;i++)
    {
        for(j=0;j<l;j++)
        {
            printf("%d\n",*(*(p+i)+j));
        }
    }
}
  1. 封装自己的strlen函数,函数原型:int my_strlen(char *s);
linux@linux:~/test/day9$ ./a.out 
5
linux@linux:~/test/day9$ cat test10.c
#include <stdio.h>

int my_strlen(char *s)
{
	int i = 0;
	while(*s)
	{
		i++;
		s++;
	}
	return i;
}
int main(int argc,char * argv[])
{
	char c[6] = "hello";
	printf("%d\n",my_strlen(c));
	return 0;
}

  1. 猴子吃桃问题,猴子第一天摘了若干个桃,当即就吃了一半数量的桃,没吃过瘾,又多吃一个,第二天,在剩下的桃里有吃了一半数量的桃,没吃过瘾,又多吃了一个,依此类推,直到第10天,想吃桃的时候,发现只剩下一个桃了,问:猴子第一天摘了多少个桃。while循环实现
linux@linux:~/test/day9$ ./a.out 
1534
linux@linux:~/test/day9$ cat test11.c
#include <stdio.h>

int main(int argc,char * argv[])
{
	int i = 1,s = 0,n = 1;
	int sum;
	while (i<10)

	{
		sum=2*(n+1);
		n=sum;
		i++;

	}
	printf("%d\n",sum);
	return 0;
}

优化

#include <stdio.h>
int num(int day);  //求第num天原始的桃子数
int main(int argc, const char *argv[])
{
    int num1 = 1; //第10天的桃子数
    int day;
    scanf("%d",&day);

    //while循环求出的是第i天原始的桃子数
/*    while(day>0)  //day=1时进入循环
    {
        num = (num+1)*2;
        day--;
    }*/
    if(day<=10&&day>0)
    {
        num1 = num(day);
        printf("第%d天原始的桃子数%d\n",day,num1);
    }
    else
    {
        printf("输入的天数不合理\n");
    }
    return 0;
}
int num(int day)  //求第num天原始的桃子数
{
    int num = 1;   //第10天的桃子数
    while(day<10)
    {
        num=(num+1)*2;
        day++;
    }
    return num;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值