学习日志第二天
程序员文章站
2022-05-29 13:36:35
...
苏嵌 项目实战
学习日志 姓名:黄志恒 日期:2018.9.4
今日学习任务
进栈出栈清空栈
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量)
P1
#include<stdio.h>
#include<string.h>
#define N 50
void strRev(char *s)
{
char temp;
char *end = s + strlen(s) -1;
while (end > s)
{
temp = *s;
*s = *end;
*end = temp;
--end;
++s;
}
}
int main()
{
char s[N];
printf("Enter string!\n");
fgets(s,N,stdin);
strRev(s);
printf("The strRcv string!");
puts(s);
return 0;
}
P2
#include<stdio.h>
int fun2(int num);
int fun16(int num);
int fun8(int num);
int main()
{
int num,kind;
printf("Enter the number:\n");
scanf("%d",&num);
printf("what kind of number do you want to change(2,16,8):\n");
scanf("%d",&kind);
if(kind == 2)
{
fun2(num);
}
else if(kind == 16)
{
fun16(num);
}
else if(kind == 8)
{
fun8(num);
}
else
{
printf("error!\n");
}
return 0;
}
int fun2(int num)
{
int s[32]={0};
int i,n=0;
while(num != 0)
{
s[n++]=num%2;
num=num/2;
}
printf("二进制数为:");
for(i=n -1;i>=0;i--)
{
printf("%d",s[i]);
}
printf("\n");
return 0;
}
int fun16(int num)
{
int s[32]={0};
int i,n=0;
while(num != 0)
{
s[n++]=num%16;
num=num/16;
}
printf("十六进制数为:");
for(i=n -1;i>=0;i--)
{
printf("%d",s[i]);
}
printf("\n");
return 0;
}
int fun8(int num)
{
int s[32]={0};
int i,n=0;
while(num != 0)
{
s[n++]=num%8;
num=num/8;
}
printf("八进制数为:");
for(i=n -1;i>=0;i--)
{
printf("%d",s[i]);
}
printf("\n");
return 0;
}
P3
#include<stdio.h>
#include<string.h>
int main()
{
char a[100];
printf("请输入字符串\n");
scanf("%s",a);
char *c =a;
char b[10];
printf("请输入子串\n");
scanf("%s",b);
char *d=b;
int n;
int num=0;
n=strlen(d);
while(strlen(c)>0)
{
if(strncmp(c,d,n)==0)
{
num++;
c+=n;
}
else
{
c++;
}
}
printf("%d\n",num);
return 0;
}
P4
#include<stdio.h>
#include<string.h>
#define N 50
void strRev(char *s)
{
char temp;
char *end = s + strlen(s) -1;
while (end > s)
{
temp = *s;
*s = *end;
*end = temp;
--end;
++s;
}
}
int main()
{
char s[N];
printf("Enter string!\n");
fgets(s,N,stdin);
strRev(s);
printf("The strRcv string!");
puts(s);
return 0;
}
P5
#include <stdio.h>
int find(char *s,char *a,char *b);
int main()
{
char s[100],a[100],b[100]; //定义三个数组存放字符串和头尾字符串
printf("Enter the long string : \n"); //提示用户输入字符串
scanf("%s",s);
printf("Enter the head string : \n");
scanf("%s",a);
printf("Enter the tail string : \n");
scanf("%s",b);
find(s,a,b); //调用函数
return 0;
}
int find(char *s,char *a,char *b)
{
int head,tail; //定义头尾节点位置变量
int i = 0,j = 0,k = 0,flag = 0; //定义循环变量i,j,k和标志位flag
while(s[i] != '\0')
{
if((s[i] == a[j]) && !flag) //当有一个字符和头字符串相等,继续判断是不是头字符串
{
head = i; //将字符串位置赋值给头节点位置
while((s[i] == a[j]) && s[i] != '\0') //进入循环判断头字符串
{
i++;
j++;
flag = 1;
}
}
if((a[j] == '\0') && flag) //当头字符串遍历结束并且标志位变为1,就认为已经找到头字符串
{
while((s[i] == b[k]) && s[i] != '\0') //进入循环判断尾字符串
{
今日开发中出现的问题汇总
没问题
今日未解决问题
没有
今日开发收获
贼多
自我评价
nice
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
其他
推荐阅读
-
Redis 学习 redis 下载 redis 集群 redis可视化工具
-
php学习笔记 面向对象中[接口]与[多态性]的应用
-
php SQLite学习笔记与常见问题分析第1/2页_php技巧
-
Android进阶学习:移动端开发重点学习的十点,不能再得过且过的写业务代码了
-
学习python第三天
-
ThreadLocal和InheritableThreadLocal学习笔记
-
框架修炼之ssm-Mybatis学习笔记一
-
Python学习之旅:使用virtualenv创建Python环境及PyQT5环境配置
-
机器学习—交叉验证和网格搜索(模型的选择与调优)
-
如何成为一名Web前端开发人员?入行学习完整指南