#include
#include
#include
int main(int argc, const char *argv[])
{
char a[20];
gets(a);
int i=0;
int j=strlen(a);
int count =0;
for(i=0;i<j;i++)
{
if(a[i]==' ')
count++;
}
printf("%d\n",count);
return 0;
}
eg: “good good study”(空格的格式可能是多个)
单词的个数是3
#include
#include
#include
int main(int argc, const char *argv[])
{
char a[20];
gets(a);
int i=0,j=0;
int len=strlen(a);
int count =0;
while(a[i]==' ')
{
i++;
j++;
}
while(a[i]!='\0')
{
while(a[j]!=' '&&a[j]!='\0')
{
j++;
}
while(a[j]==' ')
{
j++;
}
i=j;
count+=1;
}
printf("%d\n",count);
return 0;
}
因为单个字母不算单词,还有不能由数字在里面,因此对此代码进行如下修改
#include
#include
#include
int main(int argc, const char *argv[])
{
char a[20];
gets(a);
int i=0,j=0;
int len=strlen(a);
int count =0;
while(a[i]==' ')
{
i++;
j++;
}
while(a[i]!='\0')
{
int k=j;
int flag=0;
while(a[j]!=' '&&a[j]!='\0')
{
j++;
}
for(int n=k;n<j;n++)
{
if(a[n]<'A'||(a[n]>'Z'&&a[n]<'a')||a[n]>'z')
{
flag-=1;
break;
}
}
if(j-k==1)
flag-=1;
while(a[j]==' ')
{
j++;
}
if(flag<0)
count=count;
else
count++;
i=j;
}
printf("%d\n",count);
return 0;
}
#include
#include
#include
int main(int argc, const char *argv[])
{
int x,y,z;
printf("please enter A row&columns:\n");
scanf("%d%d",&x,&y);//A:x row y columns
printf("please enter B columns:\n");
scanf("%d",&z);//B:y row, z columns
int A[x][y];
int B[y][z];
int C[x][z];
printf("please enter A:\n");
for(int i=0;i<x;i++)
{
for(int j=0;j<y;j++)
{
scanf("%d",&A[i][j]);
}
}
printf("please enter B:\n");
for(int i=0;i<y;i++)
{
for(int j=0;j<z;j++)
{
scanf("%d",&B[i][j]);
}
}
for(int m=0;m<x;m++)
{
for(int n=0;n<z;n++)
{
int sum =0;
for(int i=0;i<y;i++)
{
sum+=A[m][i]*B[i][n];
}
C[m][n]=sum;
}
}
for(int m=0;m<x;m++)
{
for(int n=0;n<z;n++)
{
printf("%-4d",C[m][n]);
}
puts("");
}
return 0;
}
参数:二维数组,行,列
#include
#include
#include
void Yh_triangle(int row,int col,int arr[][col]);
int main(int argc, const char *argv[])
{
int n;
printf("please enter row&&col:");
scanf("%d",&n);
int arr[n][n];
Yh_triangle(n,n,arr);
return 0;
}
void Yh_triangle(int row,int col,int arr[][col])
{
for(int i=0;i<col;i++)
{
for(int j=0;j<=i;j++)
{
if(j==i||j==0)
arr[i][j]=1;
else
arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
}
}
for(int i=0;i<col;i++)
{
for(int j=0;j<=i;j++)
{
printf("%-4d",arr[i][j]);
}
puts("");
}
}
参数:二维数组,行,列
#include
#include
#include
void Matrix_transposition(int row,int col,int arr[row][col]);
int main(int argc, const char *argv[])
{
int a,b;
printf("please enter row&col:\n");
scanf("%d%d",&a,&b);
int arr[a][b];
printf("please enter arr num:\n");
for(int i=0;i<a;i++)
{
for(int j=0;j<b;j++)
{
scanf("%d",&arr[i][j]);
}
}
Matrix_transposition(a,b,arr);
return 0;
}
void Matrix_transposition(int row,int col,int arr[row][col])
{
int brr[col][row];
for(int i=0;i<col;i++)
{
for(int j=0;j<row;j++)
{
brr[i][j]=arr[j][i];
}
}
for(int i=0;i<col;i++)
{
for(int j=0;j<row;j++)
{
printf("%-4d",brr[i][j]);
}
puts("");
}
}
eg:“good good study”
输出:“study good good”
#include
#include
#include
int main(int argc, const char *argv[])
{
char a[20];
gets(a);
int l=strlen(a)-1;
int j=0;
for(int i=0,j=l;i<j;i++,j--)
{
char t =a[i];
a[i] = a[j];
a[j] = t;
}
int i=j=0;
while(a[i]!='\0')
{
while(a[j]!='\0'&&a[j]!=' ')
j++;
int k=j-1;
while(i<k)
{
char t=a[i];
a[i]=a[k];
a[k]=t;
i++;
k--;
}
while(a[j]==' ')
j++;
i=j;
}
puts(a);
return 0;
}
#include
#include
#include
int main(int argc, const char *argv[])
{
printf("please enter num:");
int n;
scanf("%d",&n);
char a[n][20];
for(int i=0;i<n;i++)
{
scanf("%s",&a[i]);
}
for(int i=0;i<n;i++)
{
printf("%s",a[i]);
puts("");
}
return 0;
}