有几个简单的编程问题想请各位高人解答一下!

来源:百度知道 编辑:UC知道 时间:2024/05/31 07:04:36
要求格式正确 最好把设计思想,算法也写出来 谢谢了 我给高分!
1.用数组方法解答约瑟夫问题.(既;13个人围成一圈,分别编号为1-13,从第一个人开始报数,报到3的人出圈,后面的人继续从一开始报数,重复前面的过程,问最后一个出圈的人是几号.)
2.将一个数组当中的元素依次复制到另一个数组中,并用插入法在新数组中排序.(数组长度为10)
3.打印输出下列图形
1
121
12321
1235321
12321
121
1
4.编写递归函数计算Fibonacci数列的第n个数的值(n由用户名输入).
5.输入一个字符串判断其是不是回文字.(回文字是指字符串的第一个字符和最后一个字符相同,第二个字符和倒数第二个字符相同......,型如abcdcba,aabbaa这样的字符串)
6.输入一个字符串,判断其中的单词个数.所谓单词是由若干个连续的字母(a-z,A-Z)构成,a12,a?b都不是单词.
7.编写一个函数,函数作用是删除字符串中的空格(不可用显示语句完成)
例如:char a[]=" i love you!";要求数组a中的内容转化为"iloveyou".
8.向一个结构体数组输入5个学生的成绩(学号,姓名,数学,语文,外语),要求编写一个函数对5个人的平均分升序排列,(若平均分相同,在按学号排序),按平均分升序输出所有学生的信息.(致意:结构体中变量用英语)
9.计算字符串中子串出现的次数(给定一个字符串在另一个给定字符串中出现的次数(使用指针).
10.使用指针链表解决约瑟夫问题.
哦 对了 谁解答的多 并且正确分就给谁!
<br>第三题的数字是两个金子塔型的 注意啊
<br>我打错了
谁帮我解了所有的问题我把我所有的分都给他!

这都像是作业啊。
第一题的思路:开一个一维数组,大小13,先全赋成1,在数组内循环的同时用一个变量计数,只有遇到1才计,每计到3把1改成0,用另一个变量计数,每把1改成0就计一次,计到12次的时候退出循环就行了

第一题:
/* 程序名称: arrayList.c */
/* 程序目的: 用数组实现约瑟夫问题 */
#include<stdio.h>
#define size 100 /* 输入人数的上限 */

void main()
{
int person[size];
int i, j; /* 循环修正变量 */
int arrayLen; /* 数组长度 */
int start, overNum; /* 开始位置各跨过位置 */
int deleNum; /* 出列人所在数组中的下标 */
int name, total; /* 输入时,人的信息以及人的总数 */
printf( "请输入圆桌上人的总数: " );
scanf( "%d", &arrayLen ); printf( "\n" );
if( ( arrayLen > size ) || ( arrayLen < 0 ) )
{
printf( "超出范围,请重新输入: " );
scanf( "%d", &arrayLen ); printf( "\n" );
};
printf( "请输入各个人的信息(整数): \n"