1:字符串排序
2:*字符串排序要载入<string,h>
*在排序时控制循环次数,最后一个不用比较。
#include<stdio.h>
#include<string.h>
int main(void)
{
int i,j;
char a[5][20], t[20];
printf ("请输入5个字符串:\n");
for (i = 0; i < 5; i++)
scanf("%s",a[i]);
//控制循环次数
for (i = 1; i < 5; i++)
{for(j=0;j<5-i;j++)
if(strcmp(a[j],a[j+1])>0)
{strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);
}
}
printf("排序后:\n");
for (i = 0; i < 5; i++)
printf("%s\n",a[i]);
return 0;
}
1.循环移位
2,*这个陈序要注意各个循环的节点,否者会出现错误。
*使用了选择排序法。
#include<stdio.h>
int main()
{
int a[60] ;
int i,j,n,m,t;
printf("请分别输入数组长度(n)与移位位数(m):");
scanf("%d%d",&n,&m);
printf("请输入数组:");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=n-1;i>m-1;i--)
{ t=a[n-1];
for(j=n-1;j>0;j--)
{ a[j]=a[j-1];
}
a[0]=t;
}
printf("移位m位后数组为:");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}
int main()
{
int a[60] ;
int i,j,n,m,t;
printf("请分别输入数组长度(n)与移位位数(m):");
scanf("%d%d",&n,&m);
printf("请输入数组:");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=n-1;i>m-1;i--)
{ t=a[n-1];
for(j=n-1;j>0;j--)
{ a[j]=a[j-1];
}
a[0]=t;
}
printf("移位m位后数组为:");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}
1,拆分常数
2,
*次程序调用了指针,之前无法理解其工作原理,在学习后知道指针可以直接调取任何类型数据,后
应用了自定义函数,和强制转换的方法实施了算法。
#include<stdio.h>
void splitfloat(float x,int *intpart );
int main()
{
//定义
double number;
int intpart;
float fracepart;
printf("Entern a number:");
scanf("%f",&number);
printf("%f",number);
splitfloat(number,&intpart);
printf("%d",intpart);
printf("%d",fracepart);
return 0;
}
void splitfloat(float x,int *intpart );
int main()
{
//定义
double number;
int intpart;
float fracepart;
printf("Entern a number:");
scanf("%f",&number);
printf("%f",number);
splitfloat(number,&intpart);
printf("%d",intpart);
printf("%d",fracepart);
return 0;
}
//分离整数与小数
void splitfloat(float x,int *intpart,float *fracpart)
{
*intpart=(int)x;
*fracpart=x-*intpart;
}
void splitfloat(float x,int *intpart,float *fracpart)
{
*intpart=(int)x;
*fracpart=x-*intpart;
}
1,利用指针删除字符
2,
*利用指针寻找目标字符串,然后用空格替换,
* 在判断时直接利用字符串性质最后结尾为"\0"结束,则直接用while判断循环 终止。
#include"stdio.h"
void delcharchar *s,char c );
int main()
{
char s[20],c;
void delcharchar *s,char c );
int main()
{
char s[20],c;
scanf("%s ",s);
printf("Please entern what want delect:");
scanf("%c",&c);
delchar(s,c);
printf("%s\n",s);
return 0;
}
//子程序
printf("Please entern what want delect:");
scanf("%c",&c);
delchar(s,c);
printf("%s\n",s);
return 0;
}
//子程序
void delchar(char *s,char c )
{ int i=0;
while(*(s+i)!='\0')
{
if(*(s+i)==c)
{
*(s+i)=' ';
}
i++;
}
}
{ int i=0;
while(*(s+i)!='\0')
{
if(*(s+i)==c)
{
*(s+i)=' ';
}
i++;
}
}