您的位置:首页 > 文旅 > 美景 > 山东川畅科技做网站多少钱_网站空间价格_阳西网站seo_小程序自助搭建平台

山东川畅科技做网站多少钱_网站空间价格_阳西网站seo_小程序自助搭建平台

2024/12/22 23:22:46 来源:https://blog.csdn.net/r2931887650/article/details/143106915  浏览:    关键词:山东川畅科技做网站多少钱_网站空间价格_阳西网站seo_小程序自助搭建平台
山东川畅科技做网站多少钱_网站空间价格_阳西网站seo_小程序自助搭建平台

7-1 sdut-C语言实验-顺序查找

输入n个正整数(1<= n <= 100),查找n个数中是否存在数x。如果存在则返回第一次出现的下标,否则输出“NO”。

输入格式:

第一行输入n,然后输入n个正整数。
第二行输入x。

输出格式:

如果数列中存在x则输出其下标,否则输出“NO”。

输入样例1:

10 7 0 9 4 3 8 2 1 5 4
6

输出样例1:

NO

输入样例2:

5 8 7 8 3 9 
8

输出样例2:

0
#include<stdio.h>
int main()
{int n;scanf("%d",&n);int a[n],i,j,z;for(i=0;i<n;i++)scanf("%d",&a[i]);scanf("%d",&z);int t=0,k;for(i=0;i<n;i++){if(a[i]==z){k=i;t=1;break;}}if(t==1)printf("%d",k);if(t==0)printf("NO");return 0;
}

7-2 sdut- C语言实验-数组逆序(数组移位2)

有n个整数,使其最前m个数变成最后面的m个数,其他各数顺序向前移m(m < n < 100)个位置。

输入格式:

输入数据有2行,第一行的第一个数为n,后面是n个整数,第二行整数m。

输出格式:

按先后顺序输出n个整数。

输入样例:

5 1 2 3 4 5
2

输出样例:

3 4 5 1 2
#include<stdio.h>
int main()
{int n,m;scanf("%d",&n);int a[n],b[n],i,j;for(i=0;i<n;i++){scanf("%d",&a[i]);b[i]=a[i];}scanf("%d",&m);for(i=0;i<n;i++){if(i+m<n)a[i]=b[i+m];elsea[i]=b[i+m-n];}for(i=0;i<n;i++){if(i==n-1)printf("%d\n",a[i]);elseprintf("%d ",a[i]);}return 0;
}

7-3 sdut-C语言实验- 排序

给你N(N<=100)个数,请你按照从小到大的顺序输出。

输入格式:

输入数据第一行是一个正整数N,第二行有N个整数。

输出格式:

输出一行,从小到大输出这N个数,中间用空格隔开。

输入样例:

5
1 4 3 2 5

输出样例:

1 2 3 4 5
#include<stdio.h>
int main()
{int n,i,j,t;scanf("%d",&n);int a[100];for(i=0;i<n;i++){scanf("%d",&a[i]);}for(i=0;i<=n-1;i++){for(j=0;j<=n-1-i;j++){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(i=0;i<n;i++){if(i==0)printf("%d",a[i]);elseprintf(" %d",a[i]);}return 0;
}

7-4 冒泡法排序之过程

本题要求使用冒泡法排序,将给定的n个整数从小到大排序后输出,并输出排序过程中每一步的中间结果。

冒泡排序的算法步骤描述如下:

第1步:在未排序的n个数(a[0]〜 a[n−1])中,从a[0]起,依次比较相邻的两个数,若邻接元素不符合次序要求,则对它们进行交换。本次操作后,数组中的最大元素“冒泡”到a[n−1];

第2步:在剩下未排序的n−1个数(a[0] 〜 a[n−2])中,从a[0]起,依次比较相邻的两个数,若邻接元素不符合次序要求,则对它们进行交换。本次操作后,a[0] 〜 a[n−2]中的最大元素“冒泡”到a[n−2];

……

第i步:在剩下未排序的n−k个数(a[0]〜a[n−i])中,从a[0]起,依次比较相邻的两个数,若邻接元素不符合次序要求,则对它们进行交换。本次操作后,a[0] 〜 a[n−i]中的最大元素“冒泡”到a[n−i];

……

第n−1步:在剩下未排序的2个数(a[0] 〜a[1])中,比较这两个数,若不符合次序要求,则对它们进行交换。本次操作后,a[0] 〜 a[1]中的最大元素“冒泡”到a[1]。

输入格式:

输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。

输出格式:

在每一行中输出排序过程中对应步骤的中间结果,即每一步后a[0]〜 a[n−1]的值,相邻数字间有一个空格,行末不得有多余空格。

输入样例:

5
8 7 6 0 1

输出样例:

7 6 0 1 8
6 0 1 7 8
0 1 6 7 8
0 1 6 7 8
#include<stdio.h>
int main()
{int n,t;scanf("%d",&n);int a[100];for(int i=0;i<n;i++){scanf("%d",&a[i]);}if(n==1)printf("%d",a[0]);for(int i=0;i<n-1;i++){for(int j=0;j<n-1-i;j++){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}for(int i=0;i<n;i++){if(i==n-1)printf("%d\n",a[i]);elseprintf("%d ",a[i]);}}return 0;
}

7-5 sdut-C语言实验-统计输出

编写一个程序,输入一个1到300之间的数据n,然后输入n个1到100范围内的数, 统计1到10、11到20等每10个分数段出现的数值个数,并输出相应的星号和个数。 如下图所示,在1到10范围内生成了4个值,而在11到20范围内并没有生成范围为11到20的值。如果输入的数据不在要求范围内则输出相应的错误提示信息。

1.png

输入格式:

输一个整数n(1<=n<=300)。
输入n个整数,取值范围在1到100之间。

输出格式:

输出每个数据段的星号和数据出现的次数。

输入样例1:

30
1 2 3 12 13 14 15 22 23 24 34 45 46 47 48 56 57 66 69 70 71 77 78 79 99 90 88 91 100 6

输出样例1:

  1 to  10: ****(4)11 to  20: ****(4)21 to  30: ***(3)31 to  40: *(1)41 to  50: ****(4)51 to  60: **(2)61 to  70: ***(3)71 to  80: ****(4)81 to  90: **(2)91 to 100: ***(3)

输入样例2:

301

输出样例1:

You must enter a number in the range 1 to 300
 #include<iostream>
using namespace std;
const int N=310;
int ge,yi,er,sa,si,wu,li,qi,ba,ji;
int main()
{int n;scanf("%d",&n);if(n<1||n>300) printf("You must enter a number in the range 1 to 300");else{for(int i=0;i<n;i++){int x;scanf("%d",&x);if(x<1||x>100) printf("You must enter a number in the range 1 to 300");else if(x>=1&&x<=10) ge++;else if(x>=11&&x<=20) yi++;else if(x>=21&&x<=30) er++;else if(x>=31&&x<=40) sa++;else if(x>=41&&x<=50) si++;else if(x>=51&&x<=60) wu++;else if(x>=61&&x<=70) li++;else if(x>=71&&x<=80) qi++;else if(x>=81&&x<=90) ba++;else if(x>=91&&x<=100) ji++;}printf(" 1 to 10: ");for(int i=0;i<ge;i++) printf("*");printf("(%d)\n",ge);printf("11 to 20: ");for(int i=0;i<yi;i++) printf("*");printf("(%d)\n",yi);printf("21 to 30: ");for(int i=0;i<er;i++) printf("*");printf("(%d)\n",er);printf("31 to 40: ");for(int i=0;i<sa;i++) printf("*");printf("(%d)\n",sa);printf("41 to 50: ");for(int i=0;i<si;i++) printf("*");printf("(%d)\n",si);printf("51 to 60: ");for(int i=0;i<wu;i++) printf("*");printf("(%d)\n",wu);printf("61 to 70: ");for(int i=0;i<li;i++) printf("*");printf("(%d)\n",li);printf("71 to 80: ");for(int i=0;i<qi;i++) printf("*");printf("(%d)\n",qi);printf("81 to 90: ");for(int i=0;i<ba;i++) printf("*");printf("(%d)\n",ba);printf("91 to 100: ");for(int i=0;i<ji;i++) printf("*");printf("(%d)\n",ji);}return 0;
}

 7-6 sdut-C语言实验-求一个3*3矩阵对角线元素之和

给定一个3*3的矩阵,请你求出对角线元素之和。

输入格式:

按照行优先顺序输入一个3*3矩阵,每个矩阵元素均为整数。

输出格式:

从左下角到右上角这条对角线上的元素之和。

输入样例:

1 2 3
3 4 5
6 0 1

输出样例:

在这里给出相应的输出。例如:

13
#include<stdio.h>
int main()
{int i,j,sum;int a[3][3];for(i=0;i<=2;i++){for(j=0;j<=2;j++){scanf("%d",&a[i][j]);}}sum=a[2][0]+a[1][1]+a[0][2];printf("%d",sum);return 0;
}

7-7 sdut- C语言实验-矩阵转置

输入N*N的矩阵,输出它的转置矩阵。

输入格式:

第一行为整数N(1≤N≤100)。
接着是一个N*N的矩阵。

输出格式:

转置矩阵。

输入样例:

2
1 2
1 2

输出样例:

1 1
2 2
#include<stdio.h>
int main()
{int n;scanf("%d",&n);int a[n][n],b[n][n],i,j;for(i=0;i<n;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);b[i][j]=a[i][j];}}for(i=0;i<n;i++){for(j=0;j<n;j++){a[i][j]=b[j][i];}}for(i=0;i<n;i++){for(j=0;j<n;j++){if(j==n-1)printf("%d\n",a[i][j]);elseprintf("%d ",a[i][j]);}}return 0;
}

7-8 sdut-C语言实验- 杨辉三角

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
上面的图形熟悉吗?它就是我们中学时候学过的杨辉三角。
杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。

21世纪以来国外也逐渐承认这项成果属于中国,所以有些书上称这是“中国三角形”(Chinese triangle)。

其实,中国古代数学家在数学的许多重要领域中处于遥遥领先的地位。中国古代数学史曾经有自己光辉灿烂的篇章,而杨辉三角的发现就是十分精彩的一页。

让我们开始做题吧!

输入格式:

输入数据包含多组测试数据。
每组测试数据的输入只有一个正整数n(1≤n≤30),表示将要输出的杨辉三角的层数。
输入以0结束。

输出格式:

对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。

输入样例:

2
3
0

输出样例:

1
1 11
1 1
1 2 1
#include<stdio.h>
int main()
{int n,i,j;int a[30][30];while(scanf("%d",&n)!=EOF){a[0][0]=1;a[1][0]=1;a[1][1]=1;for(i=2;i<n;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<n;i++){for(j=1;j<=n-1;j++){a[i][j]=a[i-1][j-1]+a[i-1][j];}}for(i=0;i<n;i++){for(j=0;j<=i;j++){if(j==i)printf("%d\n",a[i][j]);elseprintf("%d ",a[i][j]);}            if(i==n-1)printf("\n");}}return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com