1.5作业

本文展示了五个C语言编程实例,涉及输入数组、排序(如斐波那契数列和最小值查找)、计算最大值和次大值、字符串操作(复制和拼接)以及递归函数。这些示例旨在帮助学习者巩固基础编程技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作业要求:

 程序代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void YH(int n,int a[n][n]);
int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:");
	scanf("%d",&n);
	int a[n][n];
	YH(n,a);
	return 0;
}
void YH(int n,int a[n][n])
{
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<=i;j++)
		{
			if(i==j||j==0)
			{
				a[i][j]=1;
			}
			else
			{
				a[i][j]=a[i-1][j]+a[i-1][j-1];
			}
			printf("%-4d",a[i][j]);
		}
		printf("\n");
	}

}

运行结果:

作业要求:

程序代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int Max2(int line,int row,int a[line][row]);
int main(int argc, const char *argv[])
{
	int a[3][5];
	int line=sizeof(a)/sizeof(a[0]);
	int row=sizeof(a[0])/sizeof(a[0][0]);
	for(int i=0;i<line;i++)
    {
        for(int j=0;j<row;j++)   
		{
              scanf("%d",&a[i][j]);     
		}
	}
	Max2(line,row,a);
	printf("The second max=%d\n",Max2(line,row,a));
    return 0;
}
int Max2(int line,int row,int a[line][row])
{
	int max=a[0][0];
	for(int i=0;i<line;i++)
    {
		for(int j=0;j<row;j++)
		{
			if(max<=a[i][j])
			{
				max=a[i][j];
			}
        }
    }
	int max2=a[0][0];
      for(int i=0;i<line;i++)
      {
          for(int j=0;j<row;j++)
          {
              if(a[i][j]==max)
                  continue;
              if(max2<=a[i][j])
                 max2=a[i][j];
          }
      }
      return max2;
  }

运行结果:

作业要求: 

程序代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void copy(char a[],char b[]);
int main(int argc, const char *argv[])
{
	char a[20],b[20];
	printf("please enter a[][]:\n");
	gets(a);
	printf("please enter b[][]:\n");
	gets(b);
	copy(a,b);
	return 0;
}
void copy(char a[],char b[])
{
	int i=0;
	int c[100];
	while(a[i]!='\0')
	{
		a[i]=b[i];
		i++;
	}
    puts(a);
}

运行结果:

作业要求:

程序代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void cat(char a[],char b[]);
int main(int argc, const char *argv[])
{
	char a[10],b[20];
	printf("please enter a[]:\n");
	gets(a);
	printf("please enter b[]:\n");
	gets(b);
	cat(a,b);
	return 0;
}
void cat(char a[],char b[])
{
	int i=0;
	int n=strlen(b);
	while(a[i]!='\0')
	{
		b[n+i]=a[i];
		i++;
	}
	b[n+i]='\0';
	puts(b);
}

运行结果:

作业要求:

程序代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int cat(char a[]);
int main(int argc, const char *argv[])
{
	char a[20];
	printf("please enter a[]:\n");
	gets(a);
	printf("%d\n",cat(a));
	return 0;
}
int cat(char a[])
{
  int i=0;
  int sum=0;
  while(a[i]==' ')
  {
	  i++;
  }
  int b=i;
  if(a[i]=='+'||a[i]=='-')
	  i++;
  while(a[i]!='\0')
  {
  if(a[i]>='0'&&a[i]<='9')
  {
	   sum=sum*10+(a[i]-'0');
  }	   
  else
  {
	  break;
  }
  i++;
  }
  if(a[b]=='-')
	  return -sum;
  else 
	  return sum;
}

运行结果:

作业要求:

程序代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void T(int m,int n,int a[m][n]);
int main(int argc, const char *argv[])
{
	int m,n;
	scanf("%d %d",&m,&n);
	int a[m][n];
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	T(m,n,a);
	return 0;
}
void T(int m,int n,int a[m][n])
{
	int b[n][m];
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
 
			b[j][i]=a[i][j];
		}
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			printf("%-3d",b[i][j]);
		}
		printf("\n");
	}
}
 

运行结果:

作业要求:

程序代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int Min2(int n,int a[n])
{
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n-1-i;j++)
		{
			if(a[j]>=a[j+1])
			{
				int t=a[j];
				a[j]=a[j+1];
			    a[j+1]=t;
			}
		}
	}
	return a[1];
}
int main(int argc, const char *argv[])
{
	int n;
	scanf("%d",&n);
	int a[n];
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
	printf("%d\n",Min2(n,a));
	return 0;
}

运行结果:

作业要求:

程序代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int gwqj(int n)
{
	if(n==0)
	{
		return 1;
	}
	else 
		return n%10*gwqj(n/10);
}
 
int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:");
	scanf("%d",&n);
	printf("%d\n",gwqj(n));
	return 0;
}

运行结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值