题目6-7删除字符串中数字字符
1.设计思路
(1)本次题目的算法
第一步:阅读题目 理解主函数与函数声明
第二步:定义调用函数delnum,定义整形变量i,j
第三步:定义指针s,通过s,在函数for和函数if中的应用
第四步:通过(s+j)=‘\0’,返回值
(2)流程图
2.实验代码
...void delnum(char s)
{
int i,j=0;
for(i=0;(s+i)!=‘\0‘;i++)
{
if((s+i)>=‘0‘&&(s+i)<=‘9‘)
{
}else
{
(s+j)=(s+i);
j++;
}
}
(s+j)=‘\0‘;
}...
3.调试过程碰到问题及解决办法
错误信息1:s出错
错误原因:调用函数指针使用出错
改正方法:多次编译
错误信息2:‘\0’
错误原因:*(s+j)=‘\0‘,‘\0‘没加‘’
改正方法:观看错误提示后改正
题目6-8统计子串在母串出现的次数
1.设计思路
(1)本次题目的算法
第一步:阅读题目 理解主函数与函数声明
第二步:定义函数fun(),在fun()中star,substr,i,count
第三步:使用for函数和函数if,在(str+i)!=‘\0‘的范围内,如果(str+i)==(substr),(str+i+1)==(substr+1),(str+i+2)==(substr+2),所以count++
第四步:回归count
(2)流程图
2.实验代码
...
int fun(char str,char substr)
{
int i,count=0;
for(i=0;(str+i)!=‘\0‘;i++)
{
if((str+i)==(substr))
{
if((str+i+1)==(substr+1))
{
if((str+i+2)==(substr+2))
{
count++;
}
}
}
}
return count;
}
...
3.调试过程碰到问题及解决办法
错误信息1:count出错
错误原因:count返回的值出错,编译出现问题
改正方法:将{}括号重新梳理对齐,编译成功
题目6-9字符串中除首尾字符外的其余字符按降序排列
1.设计思路
(1)本次题目的算法
第一步:阅读题目 理解主函数与函数声明
第二步:定义调用函数fun(),定义s,整形变量sum,I,j,k,temp
第三步:在for循环中,在i<num-2范围内循环j<num-1,int)((s+k))<(int)((s+j))得k=j,如果k!=i,则temp=(s+i);(s+i)=(s+k);(s+k)=temp来互换改变顺序
第四步:输出排列好的字符串
(2)流程图
2.实验代码
...
int fun(char s,int num)
{
int i,j,k,temp;
for(i=1;i<num-2;i++)
{
k=i;
for(j=i+1;j<num-1;j++)
{
if((int)((s+k))<(int)((s+j)))
{
k=j;
}
}
if(k!=i)
{
temp=(s+i);(s+i)=(s+k);(s+k)=temp;
}
}
return 0;
}
...
3.调试过程碰到问题及解决办法
错误信息1:代码错误
错误原因:排序的代码打印错误
改正方法:temp=(s+i);(s+i)=(s+k);(s+k)=temp,深刻理解排序代码后,改正
题目7-1输出学生成绩
1.设计思路
(1)本次题目的算法
第一步:阅读题目 理解主函数与函数声明
第二步:定义整形变量i,n,定义单精度浮点型变量sum=0,average,max,min,输入n,对*p使用malloc函数
第三步:使用for函数,输入n个数据,得到sum,使用for与if函数找出最大数据和最小数据
第四步:输出平均值,最高成绩,最低成绩
(2)流程图
2.实验代码
...
#include
题目7-1计算职工工资
1.设计思路
(1)本次题目的算法
第一步:阅读题目 理解主函数与函数声明
第二步:定义一个结构体变量wage,在其中定义name,actual_wage,basic_wage,floating_wage,expenditure,
第三步:在主函数中定义整形变量N,i,利用for函数,引用结构体,计算
第四步:输出
(2)流程图
2.实验代码
...
#include
题目7-2 计算平均成绩
1.设计思路
(1)本次题目的算法
第一步:阅读题目 理解主函数与函数声明
第二步:定义一个结构体变量student,在其中定义student_id,name,grade
第三步:在主函数中定义整形变量N,i,sum,浮点型变量average,多次利用for和if函数,引用结构体student,计算
第四步:输出
(2)流程图
2.实验代码
...
#include