以此题为例:
#include
#include
#include"fun.h"
int main()
{
int a, i,k,s;
printf("请输入a的值:\n");
while(1)
{
scanf_s("%d", &a);
if (a<100000)
break;
printf("数值大小不合题意!请重新输入:\n");
}
i=comple(a);
printf("a是%d位数\n", i);
k = apart(a);
putchar('\n');
s = revers(a);
return 0;
}
自建头文件如下:
#include
#include
int comple(int a) //求余判断位数
{
int i;
for (i = 0; a > 0; i++)
a = a / 10;
return(i);
}
int apart(int a) //分别输出数字
{
int j, k,flag1=0;
for (j = 4; j >= 0; j--)
{
k = a / (pow(10, j));
flag1 = flag1 + k;
if (k == 0&&flag1==0)
continue;
printf("%-1d ",k);
a = a - k * (pow(10, j));
}
return(k);
}
int revers(int a) //逆序输出
{
int p=1, q;
printf("逆序输出结果为:");
while (a > 0)
{
q = a % 10;
printf("%d", q);
a = a / 10;
p++;
}
return(q);
}
流程图画的是逻辑关系,跟函数没有关系
你可以把某个处理过程封装成函数,也可以整个都写到一个函数里,这两个代码的流程图没有区别
要画流程图,先写伪代码,除了循环和分支外的一切操作全部用自然语言代替
然后画成框图,把文字粘进框图里
这个功能就很简单,就创建一个128MB的文件就好了。注意判断是否已经存在文件避免覆盖。
我用了一个4K的数组循环32K次写入来达到128MB0.0
void create_filesystem(){
if(Disk != -1){
printf("已经存在文件系统\n");
return;
}
Disk = open(DISK,O_CREAT|O_WRONLY,S_IRWXO|S_IRWXG|S_IRWXU);
int a[1024] = {0};
for(int i = 0;i < 1<<15;i++) write(Disk,(void *)a,sizeof(a));//创建128MB文件
printf("创建文件系统成功\n");
}