1. 在主函数定义二维数组,在有参无返函数中实现杨辉三角
程序代码:
1 #include
2 #include
3 #include
4 void Y_H(int n,int arr[n][n]);
5 int main(int argc, const char *argv[])
6 {
7 int n;//定义n,终端输入
8 printf("enter n:");
9 scanf("%d",&n);
10 int arr[n][n];//定义二维数组,杨辉三角行列相等
11 Y_H(n,arr);//调用函数Y_H
12 return 0;
13 }
14 void Y_H(int n,int arr[n][n])
15 {
16 for(int i=0;i
效果显示:
2. 在主函数定义二维数组并输入,在有参无返函数中计算二维数组的第二大值
程序代码:
#include
#include
#include
int fun(int n,int k,int a[n][k])
{
int max,max2;
max=a[0][0];
for(int i=0;i=0;i--)
{
for(int j=(k-1);j>=0;j--)
{
if(max2
效果显示:
3. 在主函数定义两个字符串并输入,在有参无返函数中实现字符串拷贝
程序代码:
#include
#include
#include
void fun(char str[100],char str1[100])
{
int i;
for(i=0;str1[i]!='\0';i++)
{
str[i]=str1[i];
}
str[i]='\0';
puts(str);
}
int main(int argc, const char *argv[])
{
char str[100]="";
char str1[100]="";
printf("enter str:");
gets(str);
printf("enter str1:");
gets(str1);
fun(str,str1);
return 0;
}
效果显示:
4. 在主函数中定义两个字符串并输入,并在有参无返函数中实现字符串的链接
程序代码:
#include
#include
#include
void fun(char str[100],char str1[100])
{
int i;
for(i=0;str[i]!='\0';i++);
int j;
j=i;
for(i=0;str1[i]!='\0';i++)
{
str[j+i]=str1[i];
}
str[j+i]='\0';
puts(str);
}
int main(int argc, const char *argv[])
{
char str[100]="";
char str1[100]="";
printf("please enter str:\n");
gets(str);
printf("please enter str1:\n");
gets(str1);
fun(str,str1);
return 0;
}
效果显示:
5. 在主函数中定义一个字符串并输入,在有参有返函数中实现atoi
程序代码:
#include
#include
#include
int fun(char str[100])
{
int i;
for(i=0;str[i]==' ';i++);
int j=i;
int sum;
sum=0;
if(str[i]=='+' || str[i]=='-')
{
i++;
}
while(str[i]!='\0')
{
if(str[i]>='0' && str[i]<='j')
{
sum=sum*10+(str[i]-'0');
}
else
{
break;
}
i++;
}
if(str[j]=='-')
{
sum=-sum;
}
else
{
sum=sum;
}
return sum;
}
int main(int argc, const char *argv[])
{
char str[100]="";
printf("please enter str:\n");
gets(str);
int sum=fun(str);
printf("%d\n",sum);
return 0;
}
效果显示:
6. 在主函数定义二维数组并输入,在有参无返函数中实现二维数组转置
程序代码:
#include
#include
#include
void fun(int arr[2][3],int i,int j,int arr1[3][2])
{
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
arr1[j][i]=arr[i][j];
}
}
for(int i=0;i<3;i++)
{
for(int j=0;j<2;j++)
{
printf("%-4d",arr1[i][j]);
}
printf("\n");
}
}
int main(int argc, const char *argv[])
{
int arr[2][3];
printf("please enter arr:\n");
int arr1[3][2];
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&arr[i][j]);
}
}
fun(arr,i,j,arr1);
return 0;
}
效果显示:
7. 在主函数定义一维数组并输入,在有参有返函数中计算一维数组的第二小值
程序代码:
#include
#include
#include
int fun(int n,int a[n])
{
int i,min;
i=0;
min=a[0];
for(i=0;ia[i])
{
min=a[i];
}
}
int min2;
if(min==a[0])
{
min2=a[1];
}
else
{
min2=a[0];
}
for(i=0;ia[i] && a[i]!=min)
{
min2=a[i];
}
}
return min2;
}
int main(int argc, const char *argv[])
{
int n;
printf("please enter n:\n");
scanf("%d",&n);
int a[n];
printf("please enter arr:\n");
int i;
i=0;
for(i=0;i
效果显示:
8. 递归计算各个数字的乘积
程序代码:
#include
#include
#include
int fun(int i)
{
if(i/10==0)
{
return i;
}
else
{
return i%10*fun(i/10);
}
}
int main(int argc, const char *argv[])
{
int i;
printf("please enter i:\n");
scanf("%d",&i);
fun(i);
printf("sum=%d\n",fun(i));
return 0;
}
效果显示:
9. 思维导图