本文目录一览:
- 1、大学福音经典编程题适用于专升本
- 2、初学编程100个代码( C语言编程)?
- 3、求c语言程序设计实例80到100行
- 4、10道经典的C语言例题(含参考程序)
- 5、单片机c语言编程100个实例
- 6、c语言100道题中,兔子生兔子程序怎么理解
- 7、C语言 编程题目 程序设计题目 高中信息科技竞赛编程题目 【100分】
- 8、编程高手请进!(C语言)
- 9、C语言编程 100以内整数加减法
大学福音经典编程题适用于专升本
C语言100道适用专升本超有用
1.十进制数转任意进制数
2.数字三角形
3,编程求某年第 n 天的日期。
4.求周岁
5.编程求出使该算式成立时的这两个数
6.功能:(较难不用看) 编程求任意给两个日期(年 月日)相差的天数。
7.把一个数的二进制奇数位和偶数位交换
8.题目要求找出数组中的两个单身狗
9,数字字符串转换为整数
10.升序的数组插入一个数,还保持升序
11.输入年月判断该月多少天
12 .遍历法求名次
13.谁是凶手
14.输入一个整数数组,实现一个函数,来调整数组中的奇数和偶数的位置,奇数在前偶数在后
15.1元一瓶汽水,两个空瓶可以换一瓶,问20元可以喝多少瓶
16.打印一个菱形,输如n的打印2*n -1行的菱形
17.输入一个整数找出紧跟在他后面的素数
18.计数求和,Sn=2+22+222+2222+22222
19.输入两个数求最小公倍数和最大公因数,代码中有详解
20.一个数 +100之后是完全平方数,+168还是一个完全平方数
21.数字金字塔
22.字符串左旋
23.[稍难不用看] 要求:写一个函数判断一个字符串是否是另一个字符串旋转后得到的
24.给数组删除重复的元素
25.C语言编程题求1! + 2! + 3! + 4!....+N
26.C语言编程题求斐波那契数(循环法与递归法
27.C语言编程输入n,k求n的k次幂(递归与非递归)
28.(递归)输入一个数,把他的每一位相加在输出出来;
29,实现函数把字符数组的元素逆序 如“abc“,逆序成“cba“
30.递归拆分整数
31.设计以函数打印乘法口诀表
32构造一函数判断是否为素数100-200之间(只能被自己和1整除的数)
33.打印二进制数的奇数位和偶数位;分别打印二进制序列
34.计算M和N二进制中不同的位数,例如 1和7 有两位不同;
35输出1900到2000之间的所有闺年
36,猴子吃桃问题
37.选择排序法 升序排列
38.冒泡排序法
39.求3*3矩阵对角元素的和
40.把整数数组中的元素值逆序存放
41.杨辉三角形
42.折半查找---必须建立在有序的数组中
43,计算3行80个字符 的类型个数
44.原文与密码
45模拟strcat字符串连接函数
46.模拟strlen(3种方法)
47模拟strcmp
48.模拟字符串拷贝函数strcpy
49.strncpy的模拟
50.strncat模拟实现
51模拟strncmp
52.(较难些可以不看)模拟寻找子串的函数strstr
53.内存拷贝函数
54.判断一个数是不是素数:
53.3*3矩阵的转置
56任何比2大的偶数,总能表示两个素数
57.输入四位数字输出四个字符
58.把a数组的内容拷贝到b数组每拷贝三个放1个*
59.输入一串字符串把其中最长的字母拷贝放到另一个数组
60.16进制转换位10进制
61.输入10个整数,最大的和最后一个位置上的交换最小的和最前面的那个交换
62.报数问题n个人从1报数到3,每次报数到3的那个元素被清空
63.输入多个字符串,排序后输出
64.(难可不看)输入一个字符串,将连续的数字字符串放到另一个二维数组中
65.结构体指针问题
66.三天打鱼两天晒网,第 N 天是打鱼还是晒网?
67.输入多个字符串,然后输出最短的字符串
68.3 个数,有两个数一样, 找另一个数
69.有 1000 人捐款, 捐到 10 万就停止捐款。 统计捐款人数和总额
70.指定位置字符串逆序
71.水仙花数
72.求素数因子
73.判断一个数是不是完全平方数?
74.蠕虫问题
75.结构体排序学生情况
76.求一元二次方程的根, ax 方+bx + c=0,ab,c 自己输入
77.累加100--999之间个位数为7的素数女78斐波那契兔子
78迭代求平方根
79.累加二维数组边缘元素的和
80.逗号表达式方面小题
81.白马百担问题
82.八进制转10进制
83.func(func(x++,y++),func(--x,--y));函数调用问题
84.水手分桃子
85挖素数
86.两个有序递增 的数组存到另一个数组还是有序的
87.把字符串中的空格去掉女88.将b字符串的内容插入到a字符串,a字符串保持升席
89.用递归的方法把字符串逆序
90分解质因数
91.10进制转16进制
92.10进制转8进制
93.计算并输出n以内10个最大素数的和
94.完数
95打印X型图案
96.打印空心正方形
97.判断一个数组是否有序
98.整形数组删除指定的数字
99.给字符数组每个元素中间添加一个空格
100.旋转字符
101.求sinx近似值
初学编程100个代码( C语言编程)?
、学代码:前提是你的复有?个?较系统的学习.认真完成每?个课程中的案例.
2、读代码:分制两步?:前期能读懂??写的代码.2113 后期能读懂他?写的代码和?致的知道底层的某些源码的含义.多去5261看开发?档(开发?档建议使?官?提供的4102英?版、不要使?中???害??)
C语言是面向过程的编程语言,主要由函数组成,函数调用可以提高代码得复用性,代码能用函数的尽量使用函数
1.城乡收入差距适度性的判定
国际上通常以基尼系数为标准,将收入差距分为适度的收入差距和不适度的收入差距。按照国际惯例,当基尼系数在0.2—0.4之间,特别是在0.3—0.4之间时收入差距是适度的。而当基尼系数在0.2以下或0.4以上时收入差距是不适度的。基尼系数在0.2以下意味着收入分配过于平均。在此种状态下,人们处于竞争与活力缺乏的状态中,这不利于人们积极性的调动和国民经济效率的提高。而基尼系数在0.4以上则又意味着收入分配过于悬殊,将产生严重的社会负面效应。收入差距的适度性原则同样适用于城乡之间,但是因为城乡收入差距的衡量用得最多的是城乡收入差距指数。因此一般用城乡收入差距指数即城乡人均收入比率来说明城乡收入差距的适度性。根据国际劳工组织发表的1995年36个国家的资料,绝大多数国家的城乡人均收入比率都小于1.6,只有3个国家的比率超过2。据此,许多学者视城乡收入指数在1.5—2之间为城乡收入差距适度的警戒线。
2.我国城乡收入差距的适度性
统计资料显示:我国城乡居民收入差距指数从2000年到2004年一直处于2.5左右的水平。按照国际上通用的评判指标来看,我国的城乡收入差距非常之大,早就越过了国际警戒线。然而事实上由于各国的情况千差万别,同一水平的城乡收入差距指数在不同发展阶段和同一时期的不同国家所蕴涵的意义不同,对应的社会经济现象和后果有很大区别。我国国土面积幅员辽阔,农业人口众多,地域条件千差万别,所以在探讨我国收入差距的适度性时就不能盲目地套用国际惯例。而应该具体分析城乡收入差距与国家经济和社会稳定的关系。适度的城乡收入差距水平应当与一定的经济发展水平和发展阶段相适应,既能支持或促进国家经济的持续高效发展,又有利于社会稳定和进步。根据这一标准,考察改革开放以来我国经济发展和社会稳定的情况
求c语言程序设计实例80到100行
神奇了,这种作业都有!
#include
int main(void) /*主函数*/
{
char c; /*指定c成为字符变量*/
printf("请输入0到9的任意一个数字\n"); /*输出请输入0到9的任意一个数字*/
c=getchar(); /*输入一个字符*/
while(c>=48&&c<=57) /*c的取值范围*/
{
getchar();
switch(c) /*根据c的值转换*/
{
case '0': printf("你喜欢奋斗吗?\n"); /*假如c=0,输出你喜欢奋斗吗?*/
break; /*中断跳出,执行c=getchar()*/
case '1': printf("你喜欢当模特吗?\n"); /*假如c=1,输出你喜欢当模特吗?*/
break; /*中断跳出,执行c=getchar()*/
case '2': printf("你喜欢和谐吗?\n"); /*假如c=2,输出你喜欢和谐吗?*/
break; /*中断跳出,执行c=getchar()*/
case '3': printf("你喜欢道家吗?\n"); /*假如c=3,输出你喜欢道家吗?*/
break; /*中断跳出,执行c=getchar()*/
case '4': printf("你是广东人吗?\n"); /*假如c=4,输出你是广东人吗?*/
break; /*中断跳出,执行c=getchar()*/
case '5': printf("你喜欢武术吗?\n"); /*假如c=5,输出你喜欢武术吗?*/
break; /*中断跳出,执行c=getchar()*/
case '6': printf("祝你一帆风顺!\n"); /*假如c=6,输出祝你一帆风顺!*/
break; /*中断跳出,执行c=getchar()*/
case '7': printf("观察等待好机会!\n"); /*假如c=7,输出观察等待好机会!*/
break; /*中断跳出,执行c=getchar()*/
case '8': printf("你喜欢交际吗?\n"); /*假如c=8,输出你喜欢交际吗?*/
break; /*中断跳出,执行c=getchar()*/
case '9': printf("追求完美吧!\n"); /*假如c=9,输出追求完美吧!*/
break; /*中断跳出,执行c=getchar()*/
}
c=getchar(); /*再输入一个字符*/
}
return 0; /*返回值*/
}
10道经典的C语言例题(含参考程序)
1.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个“水仙花数”,因为153=1^3+5^3+3^3。
#include
#include
int main()
{
int bai_wei,shi_wei,ge_wei,i,sum=0;
for(i=100;i<1000;i++)
{
bai_wei=i/100;
shi_wei=(i%100)/10;
ge_wei=i%10;
if(i==pow(bai_wei,3)+pow(shi_wei,3)+pow(ge_wei,3))
{
printf("%d ",i);
sum++;
if(sum%5==0)
printf(" ");
}
}
printf(" ");
return 0;
}
2.请输入任意两个整数x和y,求其最大公约数和最小公倍数。
#include
int main()
{
int x,y,min,max,i;
printf("请输入任意两个整数:");
scanf("%d%d",&x,&y);
min=x>y?y:x;
max=x>y?x:y;
for(i=min;i>0;i--)
if(x%i==0&&y%i==0)
{
printf("这两个整数的最大公约数为:%d ",i);
break;
}
for(i=max;i<=x*y;i++)
if(i%x==0&&i%y==0)
{
printf("这两个整数的最小公倍数为:%d ",i);
break;
}
return 0;
}
3.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#include
#include
#define N 50
int main()
{
int sum1=0,sum2=0,sum3=0,sum4,i=0;
char str[N];
printf("请输入一串字符串:");
scanf("%s",str);
for(i=0;i
{
if((str[i]>='a'&&str[i]='A'&&str[i]<='Z'))
sum1++;
if(str[i]==' ')
sum2++;
if(str[i]>='0'&&str[i]<='9')
sum3++;
}
sum4=strlen(str)-sum1-sum2-sum3;
printf("英文字母的个数:%d ",sum1);
printf("空格的个数:%d ",sum2);
printf("数字的个数:%d ",sum3);
printf("其他符号的个数:%d ",sum4);
return 0;
}
4.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
#include
#include
int main()
{
int a,n,s=0,i,x=0,y=0;
printf("请输入整数a的值:");
scanf("%d",&a);
printf("请输入相加的个数n:");
scanf("%d",&n);
for(i=0;i
{
x=y+2*pow(10,i);
y=x;
s=s+x;
}
printf("s=%d ",s);
return 0;
}
5.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程找出1000以内的所有完数。
#include
int main()
{
int sum=0,i,j;
printf("在1000以内的完数有:");
for(i=2;i<=1000;i++)
{
for(j=1;j
if(i%j==0)
sum=sum+j;
if(sum==i)
printf("%d ",i);
sum=0;
}
printf(" ");
return 0;
}
6.输入一个不多于5位的正整数,要求:1、求它是几位数;2、逆序打印出个位数字。
#include
int pows(int a,int n)
{
int sum=1,i;
for(i=0;i
sum=sum*a;
return sum;
}
int main()
{
int n,i,k,x;
printf("n=");
scanf("%d",&n);
for(i=1;i<6;i++)
if(n/pows(10,i)==0)
{
printf("%d ",i);
k=i;
break;
}
for(i=0;i
{
x=n/pows(10,i)%10;
printf("%d",x);
}
printf(" ");
return 0;
}
7.输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
#include
int main()
{
int n,a[5],i=0;
printf("请输入一个5位数:");
scanf("%d",&n);
while(n!=0)
{
a[i]=n%10;
n=n/10;
i++;
}
if(a[0]==a[4]&&a[1]==a[3])
printf("这个数是回文数 ");
else
printf("这个数不是回文数 ");
return 0;
}
8.利用递归算法,将所输入的5个字符,以相反顺序打印出来。
#include
void digui(char a[],int n)
{
if(n==1)
printf("%c",a[0]);
else
{
printf("%c",a[n-1]);
digui(a,n-1);
}
}
int main()
{
char str[5];
printf("请输入5个字符:");
scanf("%s",str);
digui(str,5);
printf(" ");
return 0;
}
9.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…球出这个序列的前20项之和。
#include
int main()
{
int i,a=1,b=1;
float sum=0.0;
for(i=1;i<=20;i++)
{
sum=sum+(float)(a+i)/b;
b=a+i;
a=i;
}
printf("sum=%f ",sum);
return 0;
}
10.利用递归算法求5!。
#include
int digui(int n)
{
if(n==1)
return 1;
else
return n*digui(n-1);
}
int main()
{
int n,sum;
printf("n:");
scanf("%d",&n);
sum=digui(n);
printf("sum=%d ",sum);
return 0;
}
单片机c语言编程100个实例
51单片机C语言编程实例 基础知识:51单片机编程基础 单片机的外部结构: 1. DIP40双列直插; 2. P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平) 3. 电源VCC(PIN40)和地线GND(PIN20); 4. 高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位) 5. 内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍) 6. 程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序) 7. P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务) 1. 四个8位通用I/O端口,对应引脚P0、P1、P2和P3; 2. 两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1) 3. 一个串行通信接口;(SCON,SBUF) 4. 一个中断控制器;(IE,IP) 针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。 C语言编程基础: 1. 十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。 2. 如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。 3. ++var表示对变量var先增一;var—表示对变量后减一。 4. x |= 0x0f;表示为 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。 6. While( 1 ); 表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是{;} 在某引脚输出高电平的编程方法:(比如P1.3(PIN4)引脚) 代码 1. #include
c语言100道题中,兔子生兔子程序怎么理解
有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?兔子的规律为数列:
1, 1, 2, 3, 5, 8, 13, 21 ....下面使用了迭代、递归和数组三种解法。【代码一】使用迭代:
#include
输入要计算的月数:10第1个月有1只第2个月有1只第3个月有2只第4个月有3只第5个月有5只第6个月有8只第7个月有13只第8个月有21只第9个月有34只第10个月有55只【方法二】使用递归:
#include
输入要计算的月数:1010个月的兔子总数为55递归看上去非常符合逻辑,但是这种递归效率是非常慢的,不信你计算20, 30, 40 个月的兔子数试试,明显比另外两种方法慢多了,具体分析请看:C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈【代码三】使用数组
#include
C语言 编程题目 程序设计题目 高中信息科技竞赛编程题目 【100分】
第一题:先分成2部分,第一部分剪出最大圆,就是取长宽的最小值为半径,计算周长。之后计算体积,保存体积。
逐渐扩大剪出的第一部分的面积,重复上面的计算,将每次计算的结构与第一次计算的体积比较,若新的值大,则保留,反之则弃之。
思路就是这样,程序慢慢做。第二题明天看,吃饭了。。。。
【第一道】
#include
using namespace std;
#define pi 3.14159265
double maxvolume(double a,double b)
{
double v1,v2,r;
r=b/(2*pi+2);
v1=pi*r*r*a;
r=a/(2*pi+2);
v2=pi*r*r*b;
if(v1>v2)
return v1;
else
return v2;
}
int main()
{
double a,b;
cout<<"请输入矩形的长宽:";
cin>>a;
cin>>b;
cout<<"最大圆柱体积:"<
}
【第二道】
//事实上,涂色方案不止样例上的一种,我把所有的可行方案都输出了一下
#include
using namespace std;
int data[][8]={ {0},
{0,0,1,0,0,0,1,1},
{0,1,0,1,1,1,1,0},
{0,0,1,0,1,0,0,0},
{0,0,1,1,0,1,0,0},
{0,0,1,0,1,0,1,0},
{0,1,1,0,0,1,0,1},
{0,1,0,0,0,0,1,0}
};
int total;
int color[8];
char COLOR[5]={' ','R','Y','B','W'};
void output()
{
total++;
cout<<"["<
{
cout.width(2);
cout<
cout<
bool checkcolor(int s)
{
for(int i=1;i<=7;i++)
{
if(data[i][s]==1&&color[i]==color[s])
return false;
}
return true;
}
void drawcolor(int s)
{
if(s>7)
output();
else
for(int i=1;i<=4;i++)
{
color[s]=i;
if(checkcolor(s))
drawcolor(s+1);
}
}
int main()
{
cout<<" \t";
for(int i=1;i<=7;i++)
{
cout.width(2);
cout<}
cout<
cout<
}
编程高手请进!(C语言)
1.
#include
#include
#include
main()
{
int count;/*猜数字的次数*/
int number;/*系统产生的随机数字*/
int guess;/*程序员输入数字*/
char yes='Y';
clrscr();
printf("\nNow let us play the game.\n Guess the number:");
while (toupper(yes)=='Y')
{
count=0;
randomize();
number=random(100)+1;
do
{
do
{
printf("\nInput an integer number(1~100):");
scanf("%d",&guess);
}while(!(guess>=1&&guess<=100));/*结束第二层DO~WHILE循环*/
if (guess
if (guess>number)
printf("\n Your answer is high,try again!");/*如果用户输入的数字大于系统随机数,则输出数字太小的提示信息*/
count++;/*猜测次数加一*/
if (count==15)
{
printf("\n This is the %d times! Think it hard next!",count);
exit(0);/*如猜测15次还没猜对,则退出游戏*/
}
}while (!(guess==number));
if (count<=7)/*猜测的次数小于7次*/
{
printf("\n You have got it in %d times.\n",count);
printf("\n you guess right,Congretulations!");/*游戏成功则提示祝贺信息*/
}
else
{
printf("\n You got it in %d times.\n",count);
printf("\n I bet you can do it better!");/*游戏失败则提示鼓励信息*/
}
printf("\n NEXT?(Y/N):");/*选择是否重新游戏*/
scanf("%c",&yes);
}
}
2.
#include
void main()
{
int gj, mj, xj, t1, t2;
for (gj=1; gj<=20; gj++)
{
for (mj=1; mj<34; mj++)
{
xj=100-gj-mj;
t1=xj%3;
t2=5*gj+3*mj+xj/3;
if (t1==0&&t2==100)
printf("gj=%d,mj=%d,xj=%d\n",gj,mj,xj);
}
}
}
3.
/* (a part of parser)
simple integer arithmetic calculator
see( page 12 of textbook )
Inputs a line of text from array
Outputs "Error" or the result.
*/
#include
#include
#include
#include
#include
char token;
char array[50]="";
int pos=0;
char string[50]="";
int exp(void);
int term(void);
int factor(void);
bool isnumber(char ch)
{
if(ch>=48 && ch<=57)
return(true);
else return(false);
}
int CharToInt(char ch)
{
int temp = 0;
while((ch >= 48)&&(ch <= 57))
{
temp = temp*10+(ch-48);
ch = GetNextChar();
}
return temp;
}
void Error(char ch,int type)
{
if(type==0)
{
cout<<"Error: Missing symbol "<
}
else if(type==1)
{
cout<<"Error: "<<"'"<
}
else{printf("Error: '%c' is unwanted !\n",token);getch();}
exit(1);
}
char GetNextChar()
{
return(array[pos++]);
}
void Match(char shouldtoken)
{
if(token==shouldtoken)
token=GetNextChar();
else Error(shouldtoken,0);
}
void ReadTextFile(char str[])
{
FILE *fp;
char ch;
int i=0;
if((fp=fopen("text.txt","r"))==NULL)
{
printf("the file text.txt can not open!\n");
getch();
exit(1);
}
ch=fgetc(fp);
while(ch!=EOF)
{
str[i++]=ch;
ch=fgetc(fp);
}
strcpy(string,str);
str[i]='.';
fclose(fp);
}
//***********************************************************8
void main()
{
ReadTextFile(array);
int result;
token=GetNextChar();
result=exp();
if(token=='.')
printf("\n\n\ %s = %d\n\n",string,result);
else Error(token,2);
cout<<"input any key to exit....."<
}
int exp(void)
{
int temp=term();
while((token=='+')||(token=='-'))
switch(token)
{
case '+':
Match('+');
temp+=term();
break;
case '-':
Match('-');
temp-=term();
break;
default:
break;
}
return(temp);
}
int term(void)
{
int temp=factor();
while((token=='*')||(token=='/'))
switch(token)
{
case '*':
Match('*');
temp*=factor();
break;
case '/':
Match('/');
temp/=factor();
break;
default:break;
}
return(temp);
}
int factor(void)
{
int temp;
if(token=='(')
{
Match('(');
temp=exp();
Match(')');
}
else if(isnumber(token))
{
temp=CharToInt(token);
token=GetNextChar();
}
else Error(token,1);
return(temp);
}
4.
#include
int main(void)
{
int a,b,c;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
return 0;
}
5.
int binarysearch(int a[],int x,int n)
{
int left,right,middle;
left=0;
right=n-1;
while(left<=right)
{
middle=(left+right)/2;
if(x==a[middle])
return middle;
if(x>a[middle])
left=middle+1;
else right=middle-1;
}
return -1;
}
8.
#include
#include
int cmp(const void* a, const void* b)
{
return (int)(*(char*)b - *(char*)a);
}
int sort(int n)
{
char buf[8];
sprintf(buf, "%d", n);
qsort(buf, 5, 1, cmp);
return atoi(buf);
}
int main(void)
{
int n;
scanf("%d", &n);
if(9999 < n && n < 100000)
printf("%d\n", sort(n));
return 0;
}
9.
int fun(int p[m][N],int m,int N)//m为行数,n为列数
{
int sum = 0;
for(int i=0;i
for(int j=0;j
for(int k=1;k
for(int k=1;k
return sum;
}
10.
char[] substr(char s[],int n1,int n2){
char ret[255];int i = 0;
for(;i
return ret;
}