HJ1 字符串最后一个单词的长度
int main(){
char a[5000];
int n=0,t=0,*p;
gets(a);
for(int i=0;a[i]!='\0';i++){
n=n+1;
}
for(int i=n-1;a[i]!=' '&&i>=0;i--)
t=t+1;
printf("%d",t);
return 0;
}
HJ2 计算某字符出现次数
int main(){
char n,a[1000];
int m=0;
gets(a);
scanf("%c",&n);
if(n>='A'&&n<='Z')
{
for(int i=0;a[i]!='\0';i++)
if(a[i]==n||a[i]==n+32)
m++;
}
else if(n>='a'&&n<='z')
{
for(int i=0;a[i]!='\0';i++)
if(a[i]==n||a[i]==n-32)
m++;
}
else
{
for(int i=0;a[i]!='\0';i++)
if(a[i]==n)
m++;
}
printf("%d\n",m);
return 0;
}
HJ3 明明的随机数
int main(int argc, char *argv[]) {
int n,t,*p,*q;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int j=0;j<=n-2;j++)
for(int i=0;i<=n-2-j;i++)
if(a[i]>a[i+1]){
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(int i=0;i<=n-1;i++){
if(a[i]!=a[i+1])
printf("%d\n",a[i]);}
return 0;
}
HJ4 字符串分隔
int main(int argc, char *argv[]) {
char a[1000];
gets(a);int i=0;
while(a[i]<="\0"){
i++;
if(i%8==0&&a[i]!='\0'){
printf("%c",a[i-1]);
printf("\n");
continue;
}
if((a[i]=='\0')&&(i%8!=0)){
printf("%c",a[i-1]);
for(int m=0;m<=7-i%8;m++)
printf("0");
break;
}
if(a[i]=='\0'&&i%8==0){
printf("%c",a[i-1]);
break;}
else
printf("%c",a[i-1]);
continue;
}
return 0;
}
HJ5 进制转换
int main(int argc, char *argv[]) {
char a[20];
int n=0,sum=0,b[20]={0};
gets(a);
for(int i=0;a[i+2]!='\0';i++){
n=n+1;
if((a[i+2]>='A')&&(a[i+2]<='Z')){
b[i]=a[i+2]-'A'+10;
}
else
b[i]=a[i+2]-'0';}
for(int i=0;i<=n-1;i++)
sum=sum+(b[i]*(pow(16,n-1-i)));
printf("%d\n",sum);
return 0;
}
HJ6 质数因子
int main(){
int n;
scanf("%d",&n);
for(int i=2;i<=n;i++){
if(i>sqrt(n)+1){
i=n;
}
while(n%i==0){
printf("%d ",i);
n=n/i;}
}
return 0;
}