o:
a[2][j];
}
if(n==p)
printf("Andianis%d\\n",p);
else
printf("Thereisnoandian.\\n");
}
5.8矩阵转置
#include
voidmain(void)
{inta[4][3],b[3][4],i,j;
for(i=0;i<4;i++)
{for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<4;i++)
{
printf("\n");
for(j=0;j<3;j++)
printf("%5d",a[i][j]);
}
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
b[j][i]=a[i][j];
}
printf("\n");
for(i=0;i<3;i++)
{
printf("\n");
for(j=0;j<4;j++)
printf("%5d",b[i][j]);
}
}
5.9八进制转换成十进制
#include
#include
voidmain(void)
{charstr[6];
inti,j=0,m=0,n=0;
gets(str);
while(str[j]!
='\0')j++;
for(i=j-1;i>=0;i--)
{
m=(str[i]-'0')*(pow(8,j-i-1));
n+=m;
}
printf("shijinzhi%d",n);
}统计字符串字母空格出现次数
5.10#include
voidmain(void)
{
charstr[256];
inti;
Intz,s,k,ot;
printf("Pleaseinputarowcharacter:
\n");
gets(str);
Z=s=k=ot=0;
for(i=0;str[i]!
=’\0’;i++)
{
if(('A'<=str[i])&&(str[i]<='Z')==1))||((str[i]>=’a’&&(str[i]<=’z’)))
Z++;
elseif((str[i]>=’0’)&&(str[i]<=’9’)
s++;
Elseif(str[i]==’‘)
K++;
Else
{ot++;}
}
printf(“字母个数:
%d\n数字个数:
%d\n空格个数、其他",num,blank);
}
指针
4.1统计两个字符串相同字符个数
#include
#include
main()
{
intcount=0;
charstr1[100],str2[100];
char*p1,*p2;
printf("pleaseenterstring1:
");
gets(str1);
printf("pleaseenterstring2:
");
gets(str2);
printf("str1:
%s\n",str1);
printf("str2:
%s\n",str2);
p1=str1;
p2=str2;
while(*p1!
='\0'&&*p2!
='\0')
{
if(*p1++==*p2++)
count++;
}
printf("count:
%d\n",count);
}
4.3从m个字符开始复制字符串
#include
#include
#defineN100
main()
{
chars1[N],s2[N],*p;
intm;
printf("pleaseenterstring1:
");
gets(s1);
p=s1;
printf("enterm:
");
scanf("%d",&m);
strcpy(s2,p+m);
printf("string2:
%s\n",s2);
}
4.4统计字符串中有多少个整数并输出
#include
#include
main()
{
chars[100],*p;
chardata[100][100]={{0}};
intcount=0;
inti;
p=s;
/*
printf("pleaseenterastring:
");
gets(p);
*/
printf("sssss:
%s\n",s);
while(*p!
='\0')
{
i=0;
while(*p>='0'&&*p<='9')
{
data[count][i]=*p;
i++;
p++;
}
if(i!
=0)
count++;
p++;
}
printf("count:
%d\n",count);
for(i=0;iprintf("%s\n",data[i]);
}
4.6
#include
#include
main()
{
char*p[]={"test","capital","index","large","small"};
char**pstr=p;
inta,b,n=5;
char*temp;
for(a=0;a{
for(b=a+1;b{
if(strcmp(pstr[a],pstr[b])>0)
{
temp=pstr[a];
pstr[a]=pstr[b];
pstr[b]=temp;
}
}
}
for(a=0;aprintf("%s\n",pstr[a]);
}
4.7求字符串长度,逆序输出
#include
voidmain(void)
{
char*p,temp,a[20];
inti,n=0;
gets(a);
while(a[n]!
='\0')//求长度
n++;
p=a;
for(i=0;i{
temp=*(p+i);
*(p+i)=*(p+n-1-i);
*(p+n-1-i)=temp;
}
puts(a);
}
函数
1.3个字符串排序
#include
#include
voidswap(char*pstr1,char*pstr2)
{
charp[80];
strcpy(p,pstr1);//改变数组内容
strcpy(pstr1,pstr2);
strcpy(pstr2,p);
}
voidmain(void)
{
chara[80],b[80],c[80];
scanf("%s%s%s",&a,&b,&c);
if(strcmp(a,b)>0)swap(a,b);
if(strcmp(b,c)>0)swap(b,c);
if(strcmp(a,b)>0)swap(a,b);
printf("%s\n%s\n%s\n",a,b,c);
}
7.4.2公约数公倍数函数
#include
intGongYueShu(int,int);
intGongBeiShu(int,int);
main()
{
inta,b;
intgbs,gys;
printf("enter2integer:
");
scanf("%d%d",&a,&b);
gys=GongYueShu(a,b);
gbs=GongBeiShu(a,b);
if(gys<0)
printf("Therehasnotgongyueshu!
!
!
!
!
!
\n");
else
printf("maxgongyueshu:
%d\n",gys);
printf("mingongbeishu:
%d\n",gbs);
}
intGongYueShu(intx,inty)
{
inti,gys=-1,min;
min=x;
if(x>y)
min=y;
for(i=2;i<=min;i++)
{
if((x%i==0)&&(y%i==0))
gys=i;
}
returngys;
}
intGongBeiShu(intx,inty)
{
inti,gbs,max;
max=x;
if(y>x)
max=y;
for(i=max;i<=x*y;i++)
{
if((i%x==0)&&(i%y==0))
{
gbs=i;
break;
}
}
returngbs;
}
7.4.4删除字符串中制定字符
#include
#include
voidDelete_Ch(char*,char);
main()
{
charstr[80],ch;
printf("pleaseastring:
");
gets(str);
printf("pleaseachar:
");
scanf("%c",&ch);
Delete_Ch(str,ch);
printf("%s\n\n",str);
}
voidDelete_Ch(char*p,charch)
{
while(*p)
{
if(*p==ch)
{
strcpy(p,p+1);
}
else
p++;
}
}
7.4.5
#include
intIs_ShuShu(int);
main()
{
inta,ret;
printf("plsenterainteger:
");
scanf("%d",&a);
ret=Is_ShuShu(a);
if(ret==0)
printf("%disashushu!
!
!
\n",a);
else
printf("%disnotashushu\n",a);
}
intIs_ShuShu(intx)
{
inti;
for(i=2;i{
if(x%i==0)
return-1;
}
if(i>=x/2)
return0;
}
7.4.6字符串连接
#include
#include
voidStrCat(char*s1,char*s2)
{
while(*s1!
='\0')
s1