开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情
前言🙉
这是一个新的频道,之后把我写的一些C语言题目分享到这里。这些C语言的题目我会分享我的思路,如果有更好的方法也可以一起讨论啊。更新时间不定。码字不易,感谢大家支持!
矩阵转置🍍
==题目描述:== KiKi有一个矩阵,他想知道转置后的矩阵(将矩阵的行列互换得到的新矩阵称为转置矩阵),请编程帮他解答。
输入描述: 第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10) 从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。
输出描述: 输出m行n列,为矩阵转置后的结果。每个数后面有一个空格。
输出示例:
==我的思路:== 看到这个题首先创建一个二维数组然后倒置输出。只要把行和列的顺序倒过来输出就行。
代码如下:
#include<stdio.h>
int main()
{
int r=0;//行
int c=0;//列
int i=0;
int j=0;
scanf("%d %d",&r,&c);
char arr1[r][c];
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
scanf("%d ",&arr1[i][j]);
}
}
for(i=0;i<c;i++)
{
for(j=0;j<r;j++)
{
printf("%d ",arr1[j][i]);
}
printf("\n");
}
return 0;
}
有序序列判断🍊
==题目描述:== 输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序(相同元素也视为有序)。
输入描述: 第一行输入一个整数N(3≤N≤50)。 第二行输入N个整数,用空格分隔N个整数。
输出描述: 输出为一行,如果序列有序输出sorted,否则输出unsorted。
输出示例:
==我的思路:== 这个题比较简单,输入要判断的数,把这些数放到一个整型数组中。可以先判断下标为0和下标为1的数,如果下标为0大于下标为1的数,就判断后面的数是否都大于前面的数,如果后面的数有一个小于的数就返回1。返回1表示输出unsorted。同理,如果下标为0小于下标为1的数,就判断后面的数是否都小于前面的数,如果后面的数有一个大于的数就返回1,输出unsorted。
代码如下:
#include<stdio.h>
int main()
{
int n=0;
int i=0;
int flag=0;
scanf("%d\n",&n);
int arr[50]={0};
for(i=0;i<n;i++)
{
scanf("%d ",&arr[i]);
}
for(i=1;i<n;i++)
{
if(arr[0]<arr[1])
{
if(arr[i-1] > arr[i])
{
flag = 1;
}
}
if(arr[0] > arr [1])
{
if(arr[i-1] < arr[i])
{
flag = 1;
}
}
}
if(flag==1)
{
printf("unsorted\n");
}
else
{
printf("sorted\n");
}
return 0;
}
上三角矩阵判定🍋
==题目描述:== KiKi想知道一个n阶方矩是否为上三角矩阵,请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。
输入描述: 第一行包含一个整数n,表示一个方阵包含n行n列,用空格分隔。 (1≤n≤10) 从2到n+1行,每行输入n个整数(范围-231~231-1),用空格分隔,共输入n*n个数。
输出描述: 一行,如果输入方阵是上三角矩阵输出"YES"并换行,否则输出"NO"并换行。
输出示例:
==我的思路:== 这个题可以创建n行n列的二维数组,只需判断对角线以下的所有数都为0,就是上三角矩阵。这里要注意对角线以下有非零的数,要返回0
代码如下:
#include<stdio.h>
int main()
{
int n=0;
scanf("%d ",&n);
int i=0;
int j=0;
int arr[50][50]={0};
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d ",&arr[i][j]);
}
}
//判断下三角是否为0
int sum=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(j<i)
{
if(arr[i][j]!=0)
{
printf("NO\n");
return 0;
}
}
}
}
printf("YES\n");
return 0;
}
写在最后:🍰码字不易,如果对你有帮助的话,给个三连或者关注一下吧🍓,感谢支持!🧀