1050 strend

#include <stdio.h>
#include<string.h>
int strend(const char *s,const char *t)
{
int slen = strlen(s);
int tlen = strlen(t);
for(int i = 0; i < tlen; i++)
{
if(t[i] != s[slen - tlen + i])
return 0;
}
return 1;
}
#define N 80
int main()
{
char s[N+1],t[N+1];
scanf("%s%s",s,t);
printf("%d\n",strend(s,t));
return 0;
}
1051. Number2Alpha

#include<stdio.h>
char month[12][12] = {"January", "February", "March", "April",
"May", "June", "July", "August",
"September","October", "November", "December"
};
char* Number2Alpha(int num)
{
return month[num - 1];
}
int main()
{
int num;
scanf("%d", &num);
printf("%s", Number2Alpha(num));
return 0;
}
1052. 矩阵转置

#define N 10
void Transpose(void *a, int n)
{
int* b = (int*)a;
int temp;
for(int i = 0; i < n ; i++)
{
for(int j = i + 1; j < n; j++)
{
temp = *(b + i * n + j);
*(b + i * n + j) = *(b + j * n + i);
*(b + j * n + i) = temp;
}
}
}
#include <stdio.h>
#include <stdlib.h>
int main()
{ int *a,n,i; scanf("%d",&n);
a=(int*)malloc(n*n*sizeof(int));
for (i=0;i<n*n;i++) scanf("%d",a+i);
Transpose(a,n);
for (i=0;i<n*n;i++)
{ printf("%d ",a[i]); if ((i+1)%n==0) printf("\n"); }
free(a);
return 0;
}
1053. 矩阵乘法

#include <stdio.h>
#define N 10
void multiply(int (*A)[N], int (*B)[N], int (*C)[N],int n)
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
C[i][j] = 0;
for(int k = 0; k < n; k++)
{
C[i][j] += A[i][k] * B[k][j];
}
}
}
}
int main()
{
int A[N][N], B[N][N], C[N][N], n, i, j;
scanf("%d",&n);
for (i=0;i<n;i++)
for (j=0;j<n;j++)
scanf("%d",&A[i][j]);
for (i=0;i<n;i++)
for (j=0;j<n;j++)
scanf("%d",&B[i][j]);
/********** multiply is called here **************/
multiply(A,B,C,n);
/**************************************************/
for (i=0;i<n;i++)
for (j=0;j<n;j++)
printf("%d%c",C[i][j],j<n-1?' ':'\n');
return 0;
}
1054. Permutation
给定特定的九键键盘
输入一个长度为3的数字字符串,
输出数字字符串对应的所有九键组合
#include<stdio.h>
char nineKey[10][4] = {"0", "1", "ABC",
"DEF", "GHI", "JKL",
"MNO", "PRS", "TUV", "WXY"};
int main()
{
char input[10] = {0};
scanf("%s", input);
int fir = input[0] - '0';
int sec = input[1] - '0';
int thi = input[2] - '0';
for(int i = 0; i < strlen(nineKey[fir]); i++)
{
for(int j = 0; j < strlen(nineKey[sec]); j++)
{
for(int k = 0; k < strlen(nineKey[thi]); k++)
printf("%c%c%c\n", nineKey[fir][i], nineKey[sec][j], nineKey[thi][k]);
}
}
}
本文介绍了使用C语言实现的几种实用算法,包括字符串匹配、数字转换为月份名称、矩阵转置及乘法运算,以及九键键盘组合生成。这些算法简洁明了,易于理解。
578

被折叠的 条评论
为什么被折叠?



