当前位置:首页 » 编程语言 » c语言排班

c语言排班

发布时间: 2025-03-09 10:06:48

1. c语言中的缩进的是什么意思

c语言中的缩进的是代码与页面边缘的距离,这样可以提高代码的可读性。

缩排是一种缩进的排版方式。当连续两行中,后一行在逻辑上是出于下层,则后一行首字符应当比前一行推后几个字符位置,一般是4字节。

缩进程序化设计的规范化的一种形式,是格式问题,不缩进不影响程序的编译与运行。缩进的好处在于使代码条理清晰易于阅读,便于理解程序结构,过程。

(1)c语言排班扩展阅读

1、第二个return a 缩进了2格,没有顶格写

if(a>b)

return a;

如果写成

if( a > b)

return a;

2、缩进,例:

for(i = 0; i < student_num; i++);

{ if((score[i] >= 0) && (score[i]) <= 100)

total_score += score[i];

else

printf(" error! score[%d] = %d ", i, score[i]);

}

2. 代码编程规范-排版风格,提升你代码逼格的小技巧

代码编程规范的排版风格是提升代码整洁度和可读性的重要手段。它主要包括七个核心要素:缩进、空行、代码块结构、空格对齐、成对符号、对齐规则以及注释的使用。

缩进是编程的基本要求,通常使用4个空格(或1个制表符,但推荐使用空格以保持跨平台一致性),通过缩进使代码层次分明,区分代码块和内部代码。

空行的作用在于分隔代码段,虽然不会占用实际内存,但有助于清晰地划分程序逻辑,使代码更易于理解。

无论代码行数多少,都应该使用{}包裹,遵循对齐原则,避免因为遗漏而产生的错误。宽屏环境下,可以调整代码宽度提示线。

成对的符号如括号需完整书写,以减少遗漏,嵌套代码时尤其重要。对齐规则如大括号{}的使用,有助于保持整体结构的一致性。

注释是解释代码的工具,C语言中单行注释用//,多行用/*...*/。注释量应保持在20%左右,过多的注释会分散阅读者注意力。

推荐使用开源的Astyle源码格式化工具,如集成在KEIL、IAR或文本编辑器中的Astyle插件,通过指令`--style=allman -t -xV -C -f -p -H -k3 -y -xb -j -U %f`来自动格式化代码,如图所示。

3. c语言单词排序

程序第一次运行时,会创建一个“word.txt”(不包括引号)的文本文件,然后要求输入单词。若要退出,请不要点DOS窗口的小叉叉,输入d即可。因为程序在结束之前,对数组中的单词重新排序,并存储到文件中。 #include "stdio.h"---
#include "stdlib.h" ---为exit()函数提供原型; #include "string.h"---字符串处理函数原型; #include "ctype.h"---字符处理函数原型; #define ROWS 256
#define COLS 32---定义“字典”的大小:可存放256个单词,每个单词的长度不超过31
static FILE *fp;---定义文件指针:内部链接,文件作用域;
static char a[ROWS][COLS];---定义数组:内部链接,文件作用域;该数组的作用是将文件的内容复制进来,并加以处理。因为处理数组比处理文件方便。
char get_option(void);---接收用户的选项,防止误操作。若输入“a;”(不包括引号),那么将视为选项a
int b(int count);---完成选项b的作用--接收新单词;
void c(char *pt[], int count);---完成选项c的作用--通过指针对数组排序,实际数组元素位置未改变;
int check(char arr[], int count);---对输入的单词进行分辨,若输入 ni hao ,将视为单词 ni ,并且提示并剔除重复的单词;
void storage(char *pt[], int count);---在程序结束之前重新排序存储数组中的单词到文件中。
#include "stdio.h" #include "stdlib.h" #include "string.h" #include "ctype.h" #define ROWS 256 #define COLS 32 static FILE *fp;
static char a[ROWS][COLS]; char get_option(void); int b(int count);
void c(char *pt[], int count); int check(char arr[], int count); void storage(char *pt[], int count); int main(void) {
int i,count; int start;
char *pt[ROWS]; char ch, len; char input;
if((fp=fopen("words.txt","a+"))==NULL) {
fputs("不能打开或建立文件!\n",stderr); exit(1); }
fseek(fp,0L,SEEK_END); start=(int)ftell(fp)/32; count=start; rewind(fp);
if(fread(a,32*sizeof(char),start,fp)==0) { i=0;
puts("开始创建词库");
puts("请输入单词(每行一个)");
puts("在新行输入END结束输入:"); while(i<ROWS&&scanf("%s", a[i])==1) {
fflush(stdin);
if(strncmp(a[i],"END",3)==0) {
count+=i; break;
}
if(check(a[i], i)) continue; i++; } }
puts("\t\t*********************欢迎使用字典排版系统*******************\n\n");
puts(" MENU "); puts("您要做些什么?");
puts("a. 显示已有的单词 b. 添加新单词"); puts("c. 对已有的单词进行排序 d. 退出");
puts("\n\n\t\t**********************************************************\n"); while((input=get_option())!='d')
{
if(input=='a') { puts("已有的单词:"); for(i=0;i<count;i++)
{
printf(" "); puts(a[i]); } }
if(input=='b')
{
puts("开始创建词库");
puts("请输入新的单词(每行一个)"); puts("在新行输入END结束输入: "); count=b(count); }
if(input=='c') {
puts("对单词进行排序:"); c(pt, count);
for(i=0;i<count;i++) {
printf(" "); puts(pt[i]); } }
puts("还要做些什么?"); }
storage(pt,count); fclose(fp);
puts("谢谢使用,再见!");
return 0; }
char get_option(void) {
char ch;
while((ch=getchar())<'a'||ch>'d') {
while((ch=getchar())!='\n') ;
puts("请输入a,b,c或者d."); }
fflush(stdin);
return ch; }
int b(int count) { int i;
i=count;
while(i<ROWS&&scanf("%s", a[i])==1) {
fflush(stdin); if(check(a[i], i)) continue;
if(strncmp(a[i],"END",3)==0) {
count=i; break; } i++; }
return count; }
void c(char *pt[], int count) { int i,j;
char *temp;
for(i=0;i<ROWS;i++) pt[i]=a[i];
for(i=0;i<count;i++) for(j=i+1;j<count;j++) {
if(strcmp(pt[i],pt[j])>0) {
temp=pt[i]; pt[i]=pt[j]; pt[j]=temp; } } }
int check(char arr[], int count) { int i;
int flag=0;
for(i=0;i<strlen(arr);i++) if(isalpha(arr[i])==0) {
printf("%s不是一个单词.\n",arr); flag=1; break; }
for(i=0;i<count;i++)
if(strncmp(a[i],a[count],strlen(a[count])+1)==0) {
puts("重复的单词!"); flag=1; }
return flag; }
void storage(char *pt[], int count) { int i,j;
char ptr[ROWS][COLS];
c(pt, count);
for(i=0;i<count;i++)
for(j=0;pt[i][j]!='\0';j++) ptr[i][j]=pt[i][j];
fp=fopen("words.txt","w+"); rewind(fp);
fwrite(ptr,32*sizeof(char),count,fp); }

热点内容
原生手机账号密码是多少 发布:2025-03-09 22:26:26 浏览:499
用户输入参数程序如何编译 发布:2025-03-09 22:22:56 浏览:947
php测试题 发布:2025-03-09 22:15:26 浏览:918
安卓文档文件夹在哪里 发布:2025-03-09 21:50:59 浏览:226
mysql的建的数据库在哪 发布:2025-03-09 21:48:34 浏览:135
怎么打开服务器80端口 发布:2025-03-09 21:48:33 浏览:213
pdb如何配置dns 发布:2025-03-09 21:47:00 浏览:937
网吧卡号和密码怎么填 发布:2025-03-09 21:46:28 浏览:745
我的世界最火的服务器国际版电脑 发布:2025-03-09 21:45:32 浏览:792
手机游戏脚本大全 发布:2025-03-09 21:43:26 浏览:778