首页>>后端>>Golang->c语言程序代码大全(c语言程序编程代码大全)

c语言程序代码大全(c语言程序编程代码大全)

时间:2023-12-02 本站 点击:0

c语言程序代码

C语言源代码,就是依据C语言规则所写出的程序代码,常见的存储文件扩展名为.c文件和.h文件,分别对应C源文件(source file)和C头文件(header file)。

C语言是一门编程语言,简单点说,就是由人类书写按照一定规范书写的字符,通过一定手段(编译链接)转换后,可以让电脑或者其它电子芯片"读懂",并按照其要求工作的语言。在所有的编程语言中,C语言是相对古老而原始的,同时也是在同类语言中更接近硬件,最为高效的编程语言。

相关内容:

C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。

当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。

C语言拥有经过了漫长发展历史的完整的理论体系,在编程语言中具有举足轻重的地位。

c语言跪求 最简单的 求和程序 代码

下面是C语言中的一个最简单的求和程序:

Copy code

#include stdio.h

int main()

{

int num1 = 1, num2 = 2, sum;

sum = num1 + num2;

printf("两数之和为:%d", sum);

return 0;

}

在这个程序中,我们定义了两个整型变量num1和num2,并将它们相加得到sum。最后输出了sum的值。

这个程序是最简单的求和程序之一,只涉及到两个数字的相加操作,非常易于理解和操作。但是,需要注意的是,在实际编写复杂的程序时,还需要学习更多的C语言知识和技巧。

c语言必背代码有哪些?

1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/

#include "stdio.h"

main()

{int i,j,result;

for (i=1;i10;i++)

{ for(j=1;j10;j++)

{

result=i*j;

printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/

}

printf("\n");/*每一行后换行*/

}

}

2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

兔子的规律为数列1,1,2,3,5,8,13,21....*/

main()

{

long f1,f2;

int i;

f1=f2=1;

for(i=1;i=20;i++)

{ printf("%12ld %12ld",f1,f2);

if(i%2==0) printf("\n");/*控制输出,每行四个*/

f1=f1+f2; /*前两个月加起来赋值给第三个月*/

f2=f1+f2; /*前两个月加起来赋值给第三个月*/

}

}

3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

则表明此数不是素数,反之是素数。*/

#include "math.h"

main()

{

int m,i,k,h=0,leap=1;

printf("\n");

for(m=101;m=200;m++)

{ k=sqrt(m+1);

for(i=2;i=k;i++)

if(m%i==0)

{leap=0;break;}

if(leap)    /*内循环结束后,leap依然为1,则m是素数*/

{printf("%-4d",m);h++;

if(h%10==0)

printf("\n");

}

leap=1;

}

printf("\nThe total is %d",h);

}

4、/*一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程

找出1000以内的所有完数。*/

main()

{

static int k[10];

int i,j,n,s;

for(j=2;j1000;j++)

{

n=-1;

s=j;

for(i=1;ij;i++)

{if((j%i)==0)

{  n++;

s=s-i;

k[n]=i;

}

}

if(s==0)

{printf("%d is a wanshu:  ",j);

for(i=0;in;i++)

printf("%d,",k[i]);

printf("%d\n",k[n]);

}

}

}

5、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,

请在空白处完善程序。*/

main()

{  int  a[4][4],b[4][4],i,j;       /*a存放原始数组数据,b存放旋转后数组数据*/

printf("input 16 numbers: ");

/*输入一组数据存放到数组a中,然后旋转存放到b数组中*/

for(i=0;i4;i++)

for(j=0;j4;j++)

{  scanf("%d",a[i][j]);

b[3-j][i]=a[i][j];

}

printf("array b:\n");

for(i=0;i4;i++)

{  for(j=0;j4;j++)

printf("%6d",b[i][j]);

printf("\n");

}

}

6、/*编程打印直角杨辉三角形*/

main()

{int i,j,a[6][6];

for(i=0;i=5;i++)

{a[i][i]=1;a[i][0]=1;}

for(i=2;i=5;i++)

for(j=1;j=i-1;j++)

a[i][j]=a[i-1][j]+a[i-1][j-1];

for(i=0;i=5;i++)

{for(j=0;j=i;j++)

printf("%4d",a[i][j]);

printf("\n");}

}

7、/*通过键盘输入3名学生4门课程的成绩,

分别求每个学生的平均成绩和每门课程的平均成绩。

要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车

其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/

#include stdio.h

#include stdlib.h

main()

{ float a[4][5],sum1,sum2;

int i,j;

for(i=0;i3;i++)

for(j=0;j4;j++)

scanf("%f",a[i][j]);

for(i=0;i3;i++)

{ sum1=0;

for(j=0;j4;j++)

sum1+=a[i][j];

a[i][4]=sum1/4;

}

求50行简单C语言程序代码,基础的就好

#include stdio.h

#include stdlib.h

#define NUM 10

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

//冒泡排序算法

//基本思想:比较相邻的两个数,如果前者比后者大,则进行交换。每一轮排序结束,选出一个未排序中最大的数放到数组后面。

void bubbleSort(int *arr, int n) {

int i,j;

for (i = 0; in - 1; i++)

for (j = 0; j n - i - 1; j++) {

//如果前面的数比后面大,进行交换

if (arr[j] arr[j + 1]) {

int temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

}

//最差时间复杂度为O(n^2),平均时间复杂度为O(n^2)。稳定性:稳定。辅助空间O(1)。

//升级版冒泡排序法:通过从低到高选出最大的数放到后面,再从高到低选出最小的数放到前面,

//如此反复,直到左边界和右边界重合。当数组中有已排序好的数时,这种排序比传统冒泡排序性能稍好。

//升级版冒泡排序算法

void bubbleSort_1(int *arr, int n) {

//设置数组左右边界

int left = 0, right = n - 1;

//当左右边界未重合时,进行排序

while (left=right) {

int i,j;

//从左到右遍历选出最大的数放到数组右边

for (i =left; i right; i++) {

if (arr[i] arr[i + 1]) {

int temp = arr[i];

arr[i] = arr[i + 1];

arr[i + 1] = temp;

}

}

right--;

//从右到左遍历选出最小的数放到数组左边

for (j = right; j left; j--) {

if (arr[j + 1] arr[j]) {

int temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

left++;

}

}

int main(int argc, char *argv[]) {

int arr[NUM],i,j,temp;

printf("请输入10个数:\n");

for(i=0; iNUM; i++) {

printf("请输入第(%d)个数:",i+1);

scanf("%d",arr[i]);

}

printf("\n输入如下排列:\n");

for(i=0; iNUM; i++) {

printf("%4d",arr[i]);

}/*

for(i=0; iNUM; i++) {

for(j=i+1; jNUM; j++) {

if(arr[i]arr[j]) {

temp=arr[i];

arr[i]=arr[j];

arr[j]=temp;

}

}

}*/

bubbleSort_1(arr,NUM);

/*printf("\n从小到大如下排列:\n");

for(i=0; iNUM; i++) {

printf("%4d",arr[i]);

}*/

printf("\n从大到小如下排列:\n");

for(i=NUM-1; i=0; i--) {

printf("%4d",arr[i]);

}

return 0;

}

c语言编程代码

两种方法我写在一起,可以独立拆开。

#include stdio.h

void finda1(char a[3][10]);

void finda2(char a[3][10]);

void show(char (*p)[10]);

int main()

{

  char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

  printf("原数组内容:\n");

  show(a);

  printf("\n1、用数组指针的方法(函数finda1):\n");

  finda1(a);

  printf("执行后:\n");

  show(a);

  printf("\n---------------------\n");

  char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

  printf("原数组内容:\n");

  show(a);

  printf("\n2、用指针数组的方法(函数finda2):\n");

  finda2(b);

  printf("执行后:\n");

  show(b);

  return 0;

}

void finda1(char a[3][10])

{

  int i,j;

  char (*p)[10]=a;

  for(i=0;i3;i++)

      for(j=0;j10;j++)

          if(p[i][j]=='a')

              printf("发现:第%d行第%d个元素是‘a’,已替换\n",i+1,j+1),p[i][j]='1';

}

void finda2(char a[3][10])

{

  int i,j;

  char *p[3]={a[0][0],a[1][0],a[2][0]};

  for(i=0;i3;i++)

      for(j=0;j10;j++)

          if(p[i][j]=='a')

              printf("发现:第%d行第%d个元素是‘a’,已替换\n",i+1,j+1),p[i][j]='1';

}

void show(char (*p)[10])

{

  int i,j;

  for(i=0;i3;i++,printf("\n"))

      for(j=0;j10;j++)

          printf("%c ",p[i][j]);

}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Golang/10084.html