目录
3.班级成绩输入输出(成绩输入,然后再输出成绩和成绩的和,两种方法来做一下)
时隔一周时间,我又开始刷题了(没错,我其实是偷懒了一周时间),现在牛客网语法篇大概还有70道题,这块刷完后,就去力扣上用Java再刷一些题
我认为刷题这件事,是学习途中很有必要的一件事,也值得坚持下去,
既提升自己的算法水平,更提高自己写代码的能力。
所以看到这里的小伙伴,如果你还没有开始刷题,请赶快开始刷题吧,
如果你已经开始刷题了,请继续坚持下去。
下面开始正文
1.箭形图案(控住输出这个图案)
链接 箭形图案_牛客题霸_牛客网 (nowcoder.com)
分析一下吧
上代码,自己看一下,和你想的一样不
#include<stdio.h>
int main()
{
int n = 0;
while(~scanf("%d",&n))
{
int i=0,j=0;
//上半部分
for(i=0;i<=n;i++)
{
for(j=0;j<n-i;j++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
printf("*");
}
printf("\n");
}
//下半部分
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
printf(" ");
}
for(j=0;j<n-i;j++)
{
printf("*");
}
printf("\n");
}
}
return 0;
}
2.反斜线形图案(简单的输出一个斜线)
链接 反斜线形图案_牛客题霸_牛客网 (nowcoder.com)
这道题不难,但我把这道题放在这里的原因是,
我写的虽然是正确的跑过去了,但在我看了别人的代码后,发现我写的代码有点长,
所以是想提醒大家,有时候做完题后可以看看别人代码,找找差距。
好了简单的看一下解析和代码吧
#include<stdio.h>
int main()
{
int n = 0;
while (~scanf("%d", &n))
{
int i = 0, j = 0;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= i; j++)
{
if (j != 1)
{
printf(" ");
}
if (i == j)
{
printf("*\n");
}
}
}
}
return 0;
}
3.班级成绩输入输出(成绩输入,然后再输出成绩和成绩的和,两种方法来做一下)
链接 班级成绩输入输出_牛客题霸_牛客网 (nowcoder.com)
下面先看第一个方法
4.矩阵元素定位(二维数组里面找数字)
链接 矩阵元素定位_牛客题霸_牛客网 (nowcoder.com)
#include<stdio.h>
int main()
{
int n,m,x,y;
int arr[15][15]={0};
scanf("%d %d\n",&n,&m);
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%d ",&arr[i][j]);
}
}
scanf("%d %d",&x,&y);
printf("%d",arr[x-1][y-1]);
return 0;
}
5. 有序序列判断(数组排序)
链接 有序序列判断_牛客题霸_牛客网 (nowcoder.com)
分析一下
#include<stdio.h>
int main()
{
int n = 0,flag1=0,flag2=0;
scanf("%d",&n);
int a[50]={0};
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(i>0)
{
if(a[i-1]>a[i]){
flag1 = 1;
}else if(a[i-1]<a[i]){
flag2 = 1;
}
}
}
if(flag1&&flag2){
printf("unsorted\n");
}else{
printf("sorted\n");
}
return 0;
}
6.有序序列插入一个整数(插入第三者)
链接 有序序列插入一个整数_牛客题霸_牛客网 (nowcoder.com)
#include<stdio.h>
int main()
{
int n,i,a,j;
int arr[50] = { 0 };
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
scanf("%d", &arr[i]);
}
scanf("%d", &a);
for (i = 1; i <= n + 1; i++)
{
if (a < arr[i]||i==n+1) {
for (j = 0; j < i; j++) {
arr[j] = arr[j + 1];
}
arr[i-1] = a;
break;
}
}
for (i = 0; i <= n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
7.序列中删除指定数字(删除第三者)
链接 序列中删除指定数字_牛客题霸_牛客网 (nowcoder.com)
简单分析一下
看代码,和你想的一样不,哪里有区别
#include<stdio.h>
int main()
{
int n,i,a,j;
int arr[50] = { 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) {
printf("%d ",arr[i]);
}else{
arr[i]=arr[i+1];
}
}
return 0;
}
8. 序列中整数去重(找出真假,留真,去假)
链接 序列中整数去重_牛客题霸_牛客网 (nowcoder.com)
分析一下
上代码
#include<stdio.h>
int main()
{
int n =0,i=0,j=0;
//输出
scanf("%d",&n);
int arr[5000]={0};
for(i=0;i<n;i++)
{
scanf("%d ",&arr[i]);
}
//去重
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(arr[i]==arr[j])
{//删除
for(int k=j;k<n-1;k++)
{
arr[k]=arr[k+1];
}
n--;
j--;
}
}
}
//输出
for(i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
9.筛选法求素数(就是加强版的找素数)
链接 筛选法求素数_牛客题霸_牛客网 (nowcoder.com)
分析一下
上代码
#include<stdio.h>
int main()
{
int n = 0;
int arr[100] = {0};
//输入
while(scanf("%d",&n) != EOF)
{
int i = 0,j = 0;
for(i = 2 ; i <= n ; i++){
arr[i]=i;
}
//筛选
for(i=2 ; i<=n ; i++){
for(j=2 ; j<i ; j++){
if(i%j == 0){
arr[i]=0;
}
}
}
int ret =0;
//输出
for(i=2;i<=n;i++){
if(arr[i] != 0){
printf("%d ",arr[i]);
}else{
ret++;
}
}
printf("\n%d",ret);
}
return 0;
}
10. 最高身高(二维数组里面找最大的数)
链接 最高身高_牛客题霸_牛客网 (nowcoder.com)
分析一下
上代码
#include<stdio.h>
int main()
{
int n = 0,m = 0;
scanf("%d %d",&n,&m);
int arr[10][10]={0};
int x=0,y=0,max=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%d ",&arr[i][j]);
if(max<arr[i][j])
{
x=i+1;
y=j+1;
max = arr[i][j];
}
}
}
printf("%d %d\n",x,y);
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/87371.html