欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一个c语言的简单程序

程序员文章站 2022-07-12 11:08:14
...
真正的程序员都是用c和c++,呵呵这句话如此绝对,哥就受这句话的刺激今天就学了一下c语言,其实我一直认为是c语言是最简单的,和java比起来他的特性要简单的很多,不过为什么用C语言的人自我感觉很牛呢,呵呵,估计用这种语言写程序是比较难,尤其是程序规模比较大的时候尤其是这样,如果不是这样的话,面向对象也不会得到发展,同时也不会有所谓的软件危机一说,其实c语言适合那些对计算机理解比深刻的人用,本身用它做的东西都是偏底层和要求高效率的地方,其次要写出看得很清爽的c程序,真的要有点水平,我是这样认为的是其实面向对象的语言其实就是在语言的层次上要求你去写出规范的程序,去封装,去隐藏实现,去给代码解耦。c语言就不同了,这些都要实现,我大学学过c语言今天一口气看了一本c语言然后自己写了一个程序,程序很简单就是输入串,然后做排序,输出。呵呵就是玩玩而已,做个记号
下面给出程序:
   #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXSIZE 10
int inputBuffer(char** buffer,int line);
void sort (char ** buffer,int n);
int printString(char ** buffer,int n); 
int main(){
  char* buffer[MAXSIZE];
int line=MAXSIZE;
  int nline=inputBuffer(buffer,line);
  if(nline<0){
  printf("the memory allocated error");
  return -1;
  }
printString(buffer,nline);
printf("//////////////////////////////////\n");
  sort(buffer,nline);
  printString(buffer,nline);
}
int inputBuffer(char** buffer,int line){
char lineS[256] ;
int resLine=0;
for(int i=0;i<line;i++){
  buffer[i]=(char *)malloc(256);
  if(buffer[i]==NULL) return -1;
  puts("\nplease input a line string\n"); 
  gets(lineS);
  if(lineS[0]=='\0'){
break;
  }
  resLine++;
  strcpy(buffer[i],lineS);
}
return resLine;
}
void sort(char ** buffer,int n){
  if (n<=1) return ;
for(int k=n-1;k>0;k--){
   
    for(int j=0;j<k;j++){
    if(strcmp(buffer[j],buffer[j+1])>0){
    char * tmp=buffer[j];
    buffer[j]=buffer[j+1];
   buffer[j+1]=tmp;
}
}
}
}
int printString(char ** buffer,int n){
for(int i=0;i<n;i++){
puts(buffer[i]);
}
return 1;}
相关标签: C C++ C# J#