本次练习为C语言基础题目练习,习题来源牛客。
题目1 判断序列是否有序:
代码:
int main()
{
int arr[60]={0};
int i = 0;
int n = 0;
int cnt1 = 0;
int cnt2 = 0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
for(i=0;i<n-1;i++)
{
if(arr[i]-arr[i+1]>=0)//降序计数
{
cnt1++;
}
if(arr[i]-arr[i+1]<=0)//升序计数
{
cnt2++;
}
}
if(cnt1==n-1||cnt2==n-1)
{
printf("sorted\n");
}
else
{
printf("unsorted\n");
}
return 0;
}
题目2 序列删除指定数:
代码:
int main()
{
int n = 0;
int arr[50] = { 0 };
int a = 0;
int i = 0;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
scanf("%d", &a);
for (i = 0; i < n; i++)
{
if (arr[i] == a)
{
continue;
}
else
{
printf("%d ", arr[i]);
}
}
return 0;
}
题目3 序列去重:
代码:
int main()
{
int n = 0;
int arr1[100]={0};//作为输入数组
int arr2[100]={0};
scanf("%d",&n);
int i = 0;
int j = 0;
int g = 0;//用于统计去重后元素个数
for(i=0;i<n;i++)
{
scanf("%d",&arr1[i]);
}
for(i=0;i<n;i++)
{
int sum = 0;
for(j=0;j<i;j++)
{
if(arr2[j]==arr1[i])//检查输出数组是否已经存在此数
{
sum = 1;
break;
}
}
if(sum==0)
{
arr2[g]=arr1[i];
g++;
}
}
for(i=0;i<g;i++)
{
printf("%d ",arr2[i]);
}
return 0;
}
题目4 有序序列合并:
代码:
int main()
{
int arr1[1000]={0};
int arr2[1000]={0};
int arr[1000]={0};
int n = 0;
int m = 0;
int sum = 0;
int i = 0;
int j = 0;
scanf("%d",&n);
scanf("%d",&m);
for(i=0;i<n;i++)
{
scanf("%d",&arr1[i]);
}
for(j=0;j<m;j++)
{
scanf("%d",&arr2[j]);
}
i=0;
j=0;
while(i<n&&j<m)
{
if(arr1[i]<arr2[j])
{
printf("%d ",arr1[i]);
i++;
}
else
{
printf("%d ",arr2[j]);
j++;
}
}
if(i==n&&j<m)
{
for(;j<m;j++)
{
printf("%d ",arr2[j]);
}
}
else
{
for(;i<n;i++)
{
printf("%d ",arr1[i]);
}
}
return 0;
}
题目5 成绩输入输出
代码:
int main()
{
double arr[10][10] = { 0 };
int i = 0;
int n = 0;
double sum = 0;
int j = 0;
for (i = 0; i < 5; i++)
{
scanf("%lf %lf %lf %lf %lf", &arr[i][0], &arr[i][1], &arr[i][2], &arr[i][3], &arr[i][4]);
}
for (i = 0; i < 5; i++)
{
sum = 0;
for (j = 0; j < 5; j++)
{
printf("%.1lf ", arr[i][j]);
sum = sum + arr[i][j];
}
printf("%.1lf\n", sum);
}
return 0;
}
题目6 :最高身高
代码:
int main()
{
int n = 0;
int m = 0;
int arr[100][100]={0};
scanf("%d %d",&n,&m);
int high=0;
int i = 0;
int j = 0;
int x = 0;
int y = 0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(arr[i][j]>high)
{
high=arr[i][j];
x=i+1;
y=j+1;
}
}
}
printf("%d %d",x,y);
return 0;
}