当前位置:首页 > C语言实验题
}
void swap(char *p1,char *p2) {char p[20];
strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p); }
约瑟夫问题 题目描述: n
个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到戏,活到最后的一个人是胜利者。请输出最后一个人的编号。
输入:输入n和m值。1 提示:第一轮:3被杀;第二轮:1被杀;第三轮:5被杀;第四轮:2被杀 代码:#include {int i,k,m,n,t,num[150],*p; scanf(\p=num; for(i=0;i {if(*(p+i)!=0) k++; if(k==t) {*(p+i)=0; k=0; - 21 m的人被杀,剩下的人继续游 m++; } i++; if(i==n)i=0; } while(*p==0)p++; printf(\return 0; } 简单排序 题目描述:给定 N个整数,请你对这些整数进行升序排列并输出。 输入:输入数据有多组,第一行是测试数据的组数T,接下的T行中,每行表示一组测试数据,每组测试数据的第一个数字为N(1<=N<=1000),接下来是N个整数。本题中,所有的整数都在32位之内。 输出:输出每组测试数据排序后的结果。每组测试数据占一行。 样例输入: 2 3 2 1 3 4 1 3 4 2 样例输出: 1 2 3 1 2 3 4 代码:#include int n,i,j,k,m,t; long a[1000]; scanf(\ - 22 while(n--) { scanf(\for(i=0;i for(j=0;j t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } for(i=0;i printf(\if(i printf(\} return 0; } 数列有序! 题目描述:有 n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使 新的序列仍然有序。 输入:输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。 输出:对于每个测试实例,输出插入新的元素后的数列。 - 23 样例输入: 3 3 1 2 4 0 0 样例输出:1 2 3 4 代码:#include\int main() { int n,m,i,j; int a[100]; while(scanf(\ { for(i=0;i printf(\} return 0;} 打印金字塔 题目描述:输入 n值,打印下列形状的金字塔,其中- 24 n代表金字塔的层数。
共分享92篇相关文档