6利用数组处理批量数据(2)

课后习题

6.输出以下的杨辉三角形(要求输出10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

#include<stdio.h>

int main()
{
	int i,j;
	int a[10][10];
	for(i=0;i<10;i++)
	{
		a[i][i]=1;
		a[i][0]=1;
	}
	for(i=2;i<10;i++)
	{
		for(j=1;j<i;j++)
		{
			a[i][j]= a[i-1][j-1] +a[i-1][j];
		}
	}
	for(i=0;i<10;i++)
	{
	   for(j=0;j<=i;j++)
	   {
	   printf("%d ",a[i][j]);
       }
       printf("\n");
    }
    printf("\n");
	return 0;
 } 

7.魔方阵(不知道哪里错了)

#include<stdio.h>

int main()
{
	int a[15][15],i,j,k,p,n;
	p=1;
	while(p=1)
	{
		scanf("%d",&n);
		if(n!=0 && n<=15 && n%2 != 0)
		p=0;
	}//初始化
	for(i=1;i<=n;i++)
	  for(j=1;j<=n;j++)
	  a[i][j] = 0;
	//建立魔方阵
	j = n/2  +1;
	a[1][j] = 1;
	for(k=2;k<=n*n;k++)
	{
		i=i-1;
		j=j+1;
		if(i<1 && j>n)
		{
			i = i+2;
			j=j-1;
		}
		else
		{
			if(i<1) i =n;
			if(j>n) j=1;
		}
		if(a[i][j] == 0)
		   a[i][j] = k;
		else
		{
			i = i+2;
			j = j-1;
			a[i][j] = k;
		}
	 } 
	 //输出魔方阵
	 for(i=1;i<=n;i++)
	 {
	   for(j=1;j<=n;j++)
	    {
	  printf("%d ",a[i][j]);
    	 }
	 printf("\n"); 
	}
	return 0;
 } 

8 鞍点(有点问题)

#include<stdio.h>

int main()
{
	int a[4][5];
	int i,j,max=0;
	for(i=0;i<4;i++)
	{
		for(j=0;j<5;j++)
		{
			printf("a[%d][%d]=",i,j);
			scanf("%d",&a[i][j]);
		}
	}
	
	for(i=0;i<4;i++)
	{
		for(j=0;j<5;j++)
		{
		if(a[i][j]>max)
		{
		max = a[i][j];
	    }
		for(i=0;i<5;i++)
		{
			if(a[i][j] < max)
			   printf("%d",max);break;
			//else continue;
		}
	}	
	}
	return 0;
 }

9折半查找 (有点问题)

#include<stdio.h>

int main()
{
	int a[15],i,j,k,m=0,b=14,t=0,sign = 0,n;
	
	for(i=0;i<15;i++)
	{
		a[i] = 15-i;
		printf("%d ",a[i]);
	}
	printf("\n");
	scanf("%d",&k);
	while(m>=0)
	{
		m=(b+t)/2;
		if(k=a[m])
		   {
		   sign = 1;
		   n=m;
		   printf("%d",m);break;
		   }
		else if(k<m)
		  b=m-1;
		else
		  t=m+1;
	 } 
	 /*if(sign = 1)
	 printf("%d",m);*/
    if(sign = 0)
    printf("cannot find");
	
	return 0;
 } 

10

#include<stdio.h>

int main()
{
	char a[3][80];
	int i,j,d=0,x=0,s=0,k=0,q=0;
	for(i=0;i<3;i++)
	{
		printf("请输入第%d行:",i+1);
		gets(a[i]); 

		for(j=0;i<80 && a[i][j] != '\0';j++)
		{
			if('a'<=a[i][j] && a[i][j]<='z')
			x++;
			else if('A'<=a[i][j] && a[i][j]<='Z')
			d++;
			else if('0'<=a[i][j] && a[i][j]<='9')
			s++;
			else if(a[i][j] == ' ')
			k++;
			else
			q++;
		}
	}
	printf("%d %d %d %d %d",x,d,s,k,q);
	return 0;
 } 

在这里插入图片描述

11

#include<stdio.h>

int main()
{
	//char a[5][10];
	char b[5] ={'*','*','*','*','*'};
	int i,j,k;
	char space = ' ';
	for(i=0;i<5;i++)
	{
	//	printf("\n");
	//	printf("   ");
		for(j=1;j<=i;j++)
		printf("%c",space);//输出i个空格 
		for(k=0;k<5;k++)
		printf("%c",b[k]);//输出***** 
		printf("\n");
	}
	return 0;
 } 

在这里插入图片描述

12

#include<stdio.h>

int main()
{
	char a[100];
	gets(a);
	int i,m;
	for(i=0;i<100 && a[i] != '\0';i++)
	{
		if('A'<=a[i] && a[i]<='Z')
		{
		m = 155-a[i];
		printf("%c",m);continue;}
		else if('a'<=a[i] && a[i]<='z')
		{m=219-a[i];
		printf("%c",m);}
		else if(a[i]=' ')
		printf(" ");
	}
	return 0;
 } 

在这里插入图片描述

13 连接两个字符串 (运行不出来 不知道问题在哪里)

#include<stdio.h>

int main()
{
	char a[100],b[100],c[200];
	gets(a);
	gets(b);
	int i=0,j=0,m=0;
	
	while(a[i] != '\0')
	{
	i++;
	}
	while(b[j] != '\0')
	{
	b[j++] = a[i++];
	}
	a[i] = '\0';

    printf("%s\n",a);
	return 0;
 } 

14

#include<stdio.h>
#include<math.h>
#include<string.h>

int main()
{
	char a[10],b[10];
	gets(a);
	gets(b);
	int i,j;
	int m=0,n=0;
	for(i=0;i<10 && a[i] != '\0';i++)
	{
		m = m + a[i];
		
	}
	printf("%d\n", m);
	for(j=0;j<10 && b[j] != '\0';j++)
	{
		n = n + b[j];
		
	}
	printf("%d\n", n);
	printf("%d\n",m-n);
 } 

在这里插入图片描述

15

#include<stdio.h>
#include<math.h>
#include<string.h>

int main()
{
	char s1[10],s2[10];
	gets(s2);
	int i;
	for(i=0;i<10 && s2[i] != '\0';i++)
	{
		s1[i] = s2[i];
	}
	for(i=0;i<10 && s1[i] != '\0';i++)
	{
		printf("%c",s1[i]);
	}
	return 0;
	
 } 

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值