输入一个字符串,计算字符串中子串出现的次字数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int number(char *p,char *q,int n)
{
int length1 = strlen(p);
int length2 = strlen(q);
int i;int j = 0;
n = 0;
char *d = q;
while(*p != '\0')
{
if(strncmp(p,q,length2) == 0)
{
n = n + 1;
p = p + n;
}
else
{
p++;
}
}
printf("%d\n",n);
}
main()
{
char *str;
char *ptr;
str = (char *)malloc(sizeof(char)*100);
ptr = (char *)malloc(sizeof(char)*5);
int k;
printf("please input the long:\n");
scanf("%s",str);
printf("plesae input the sort:\n");
scanf("%s",ptr);
number(str,ptr,k);
}
请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
#include<stdio.h>
#include<string.h>
void change_sixteen(char *str,int num)
{
char *ptr = str;
while(num != 0)
{
switch(num % 16)
{
case 0:*ptr = '0';break;
case 1:*ptr = '1';break;
case 2:*ptr = '2';break;
case 3:*ptr = '3';break;
case 4:*ptr = '4';break;
case 5:*ptr = '5';break;
case 6:*ptr = '6';break;
case 7:*ptr = '7';break;
case 8:*ptr = '8';break;
case 9:*ptr = '9';break;
case 10:*ptr = 'A';break;
case 11:*ptr = 'B';break;
case 12:*ptr = 'C';break;
case 13:*ptr = 'D';break;
case 14:*ptr = 'E';break;
case 15:*ptr = 'F';break;
default:break;
}
num = num / 16;
ptr++;
}
*ptr = '\0';
}
void change(char *str,int num,int n)
{
char *p = str;
if(n == 16)
change_sixteen(str,num);
else
{
while(num != 0)
{
*p = num % n + '0';
num = num / n;
p++;
}
*p = '\0';
}
}
void exchange(char *str)
{
int length = strlen(str);
char tmp;
char *q = str + length - 1;
while(q > str)
{
tmp = *q;
*q = *str;
*str = tmp;
--q;++str;
}
}
main()
{
int num;
int n;
char str[100];
printf("please input the num:\n");
scanf("%d",&num);
printf("please input the radix:\n");
scanf("%d",&n);
change(str,num,n);
exchange(str);
printf("%s\n",str);
return 0;
}
- 输入5大的顺序排列起来个数(含负数、小数)将它们按由小到大排列(提示:需要排数的数字通过参数传递过来)
/*****************************************************
copyright (C), 2014-2015, Jinling Institute of Tecnology
File name:1-3.c
Author: Zhang.Y.F Version:0.1 Date: 2018-07-28 14:49
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
#include<stdlib.h>
void change(float a[],int num)
{
int i,j;
for(i = 0;i < num - 1; i++)
{
for(j = num - 1;j > i;j--)
{
if(a[j] < a[j - 1])
{
float b;
b = a[j];
a[j] = a[j - 1];
a[j - 1] = b;
}
}
}
}
int main(int argc, char **argv)
{
int n = 0;
int k;
int v = 1;
int num = argc - 1;
float a[100];
for(n = 0,v = 1;n < num; n++,v++)
{
a[n] =atof(argv[v]);
}
change(a,num);
for(k = 0;k < num; k++)
{
printf("%f ",a[k]);
}
printf("\n");
return 0;
}