![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
树盟
这个作者很懒,什么都没留下…
展开
-
c语言学习进阶-C语言程序产生正态分布随机数
C语言程序产生正态分布随机数原创 2022-01-10 17:01:32 · 4984 阅读 · 0 评论 -
c语言学习进阶-C语言程序出错处理
C语言程序出错处理命令行参数实现C语言程序出错处理(1)执行d:>p.exe myinput.txt myoutput.txt 时,如果指定的文件名myinput.txt 不存在,那么程序应提示出错;如果指定的文件名myinput.txt 中的数据格式不正确,某一行出现字母或者汉字等等不是整数的情况,应提示输入文件格式不符合要求。程序出出错问题。需要解决的问题有:判断输入参数是否正确,不正确则报错;判断文件是否存在,不存在则报错;判断某一行是否出现字母或者汉字等不是整数的情况,出现则报错,并且识原创 2022-01-10 15:27:24 · 2206 阅读 · 0 评论 -
c语言学习进阶-C语言带命令行参数的文件数据批量计算
C语音带命令行参数的文件数据批量计算(1)假设输入文件中的数据为多行整数,把数据文件命名为“InputData.txt”,也可以命名为任意的文件名,尝试设计一个c 语言程序, 主函数采用带命令行参数的形式,int main(int argc,char argv []),将输入文件名和输出文件名作为命令行参数引入程序对输入数据文件的数据进行计算。例如求取各个数据的三次方,将数据结果输出到数据输出文件中,输出文件的格式是多行整数的文本文件。表示编译程序为FileReadAndWrit3212.exe,那么执行原创 2022-01-10 15:26:56 · 419 阅读 · 0 评论 -
c语言学习进阶-C语言程序性能优化
标题C语言程序性能优化(1)进一步提升程序的计算能力。使之能计算任意实数的任意次方的输出结果,我们将计算的次方数也放在命令行参数中,作为第3 个命令行参数,例如:d:>p.exe inputdata.txt myoutput2.txt 5, 那么就意味着计算inputdata.txt 中的所有数据的5 次方,并将结果输出到myoutput2.txt 文件中。提升程序的计算能力,使之能计算任意实数的任意次方只需在程序中再加入一个输入次幂的命令行参数即可,即加入下面代码中的第70 行,argv[3原创 2022-01-10 15:26:39 · 581 阅读 · 0 评论 -
c语言学习进阶-C语言程序稳定性测试
C语言程序程序稳定性测试(1)设计一个自动数据生成程序,能自动生成指定行数的随机整数并写入到一个文件当中,随机整数的范围可以被控制,例如控制在0 到100 间,这个程序的操作命令行参数如:d:>intgen.exe data1.txt 0 100 7777, 程序意味着产生0-100 之间的随机数共7777 个,并写入输出文件data1.txt中, 每行1 个数据, 共7777 行,程序执行完毕以后打开data1.txt 观察一下数据以及格式是否正确;在C 语言中,rand() 可以用来产生随机数原创 2022-01-10 15:26:22 · 1239 阅读 · 0 评论 -
c语言学习进阶-C语言程序实现生成指定区间指定个数随机数
##C语言程序实现生成指定区间指定个数随机数设计一个自动数据生成程序,能自动生成指定行数的随机整数并写入到一个文件当中,随机整数的范围可以被控制,例如控制在0 到100 间,这个程序的操作命令行参数如:d:>intgen.exe data1.txt 0 100 7777, 程序意味着产生0-100 之间的随机数共7777 个,并写入输出文件data1.txt中, 每行1 个数据, 共7777 行,程序执行完毕以后打开data1.txt 观察一下数据以及格式是否正确;在C 语言中,rand() 可以原创 2022-01-10 15:25:58 · 1748 阅读 · 0 评论 -
c语言学习进阶-C语言程序实现矩阵乘法
(1)设矩阵A 的数据放在A.txt 中,B 矩阵数据放在B.txt 中,这两个矩阵的相乘结果放在C.txt 中,执行程序:d:>cf.exe A.txt B.txt C.txt 则将结果输出到C.txt,并用Matlab 验证输出结果。矩阵乘法需要注意C=AB,可计算必须满足A矩阵为m×nm\times nm×n,B矩阵为n×kn\times kn×k,乘积C中的各元素为:cij=∑t=0n−1aijbij,i=0,1,⋅⋅⋅,m−1;j=0,1,⋅⋅⋅,k−1c_{ij}=\sum_{原创 2022-01-10 15:25:32 · 2700 阅读 · 0 评论 -
c语音学习进阶-C语言带命令行参数的程序设计
C语音带命令行参数的程序设计(1)深入理解并学习带命令行参数的程序设计方法,使用c 语言完成带命令行参数的科学计算程序,能从给定的任意文件名的文件当中输入数据,并能向给定的任意文件名的输出文件当中输出数据结果。在许多应用软件运行时都带有命令行参数,这些命令行参数在C 语言编写的程序中是可以实现的,灵活地运用命令行参数进行处理可以有效地提高程序的运行效率,达到事半功倍的效果。输入命令时,在可执行文件(命令)名后面可以跟一些参数(命令行参数),一般形式为:命令名参数1 参数2 …参数n,命令名和参数之间用原创 2022-01-10 15:24:47 · 886 阅读 · 0 评论 -
GCC和TCC编译TCC
GCC和TCC编译TCC找到TCC(tiny CC)的源码。用GCC编译tiny CC的源码下载TCC源代码,(http://download.savannah.gnu.org/releases/tinyccdd;),下载源码:tcc-0.9.26.tar.bz2解压后就得到了TCC的源代码,其中tcc.c是主程序,我们需要对它进行编译运行。1、GCC编译TCC到源码解压目录找到tcc.c文件,将其复制到新的文件夹GccTcc中便于查看编译结果,在文件夹GccTcc下运行cmd(注意源文件复制不能原创 2022-01-04 19:53:04 · 1844 阅读 · 0 评论 -
TCC编译简单实验
TCC编译简单实验1、配置采用两种编译器:GCC和TCC(tiny CC)编译C语言程序:Hello world先在windows安装TCC编译器并配置好环境变量;在notepade++编写名为HelloWorld2.c文件;#include<stdio.h>/*文件包含命令,stdio.h称为文件头,里面包含了程序中需要使用的一些基本函数*/int main()/*主函数,C语言程序的入口,int表示函数类型为整型*/{ printf("HelloWorld!\n");原创 2022-01-04 19:28:14 · 892 阅读 · 0 评论 -
GCC编译简单实验
GCC编译简单实验1、命令行及命令行参数命令行也叫命令提示符,在不同的操作系统命令提示符也各不相同,在windows环境下,命令行程序为cmd.exe,可以运行编译Windows环境下的指令。一般Windows命令包含内部命令和外部命令,其中外部命令比较多,外部命令一般在%SystemRoot%\System64里面,而内部命令较少如cd(显示当前目录名或者改变当前目录位置)、cls(清理命令窗口并清除屏幕缓存区)、color(设置命令shell窗口的文本与背景颜色)、copy(将文件从一个位置复制到另原创 2022-01-04 18:53:17 · 1286 阅读 · 0 评论 -
c语言学习-利用函数指针的方法,求任意给出两个整数的x和y的和、差。
编写一个程序,利用函数指针的方法,求任意给出两个整数的x和y的和、差。程序流程图:代码:#include<stdio.h>void main(){int x,y,*m=&x,*n=&y;printf("输入x,y:\n");scanf("%d,%d",&x,&y);printf("%d-%d=%d\n",x,y,*m-*n);printf("%d+%d=%d\n",x,y,*m+*n);}结果:小结:运用指针对应的值,求两个数的和原创 2021-03-15 10:34:58 · 2676 阅读 · 0 评论 -
c语言学习-使用指针对三个变量互相赋值
有3个整型变量i, j, k请编写程序,设置3个指针变量p1,p2,p3,分别指向i, j, k。然后通过指针变量使i, j, k 3个变量的值顺序交换,即把i的原值赋给j,把j的原值赋给k,把k的原值赋给i。要求输出i, j, k的原值和新值。程序流程图:代码:#include<stdio.h>void main(){int i,j,k,*p1,*p2,*p3,t1,t2,t3;p1=&i;p2=&j;p3=&k;printf("输入i,j,k:\原创 2021-03-15 10:34:21 · 2821 阅读 · 0 评论 -
c语言学习-使用指针求一个字符串的长度
c语言使用指针求一个字符串的长度程序流程图:代码:#include<stdio.h>#define N 81void main(){char str[N],*string=str,*p=string;int k;printf("输入一个字符串:\n");gets(string);while(*p!='\0')if(*p!='\n')p++;k=p-string;printf("字符串长度%d\n",k);}结果:...原创 2021-03-15 10:33:51 · 6139 阅读 · 0 评论 -
c语言学习-使用指针进行冒泡法排序
c语言学习-使用指针进行冒泡法排序程序流程图:代码:#include<stdio.h>void main(){int b[10],*pa;int h,k,temp;pa=&b[0];printf("键盘输入10个字符\n");{for(k=0;k<=9;k++){scanf("%d",&b[k]);printf("b[%d]=%d\t",k,b[k]);}printf("\n");{for(k=0;k<=9;k++)//k循环,比较相原创 2021-03-15 10:33:29 · 1418 阅读 · 0 评论 -
c语言学习-用下标法和指针法引用数组元素
c语言用下标法和指针法引用数组元素程序流程图:代码:#include<stdio.h>void main(){char ch[5]={'A','s','f','g','h'},*pf;int a[5]={3,6,9,8,7},i,*pa;pa=a;pf=ch;printf("下标针法引用数组元素:\n");for(i=0;i<5;i++){ printf("ch[%d]=%c\t\t",i,ch[i]); printf("a[%d]=%d\n",i,a[原创 2021-03-15 10:33:01 · 1211 阅读 · 0 评论 -
c语言学习-自定义并调用函数求三个数的最小公倍数
c语言自定义并调用函数求三个数的最小公倍数程序流程图:代码:#include<stdio.h>int la1(int m ,int n,int p);int la2(int m ,int n,int p);int sm(int m ,int n,int p,int o,int d);void main(){int x,y,z,h,l,s;printf("please enter x,y,z\n");scanf("%d,%d,%d",&x,&y,&z原创 2021-03-15 10:32:28 · 2546 阅读 · 0 评论 -
c语言学习-编写函数计算式子:S=2*1*1!+2*2*2!+……+2n*n!的值。要求编写自定义函数分别求解2n和n!,在编写求解S的函数。
编写函数计算式子:S=2 * 1 * 1!+2 * 2 * 2!+……+2n * n!的值。要求编写自定义函数分别求解2n和n!,在编写求解S的函数。程序流程图:代码:#include<stdio.h>long mul(int n){long mu;if(n==0 || n==1)mu=1;elsemu=mul(n-1)*n;return mu;}long mas(int n){long ma; ma=2*n; return ma;}void main()原创 2021-03-14 20:43:25 · 1062 阅读 · 0 评论 -
c语言学习-自定义并调用两个函数,分别求两个整数的最大公约数和最小公倍数
c语言自定义并调用两个函数,分别求两个整数的最大公约数和最小公倍数程序流程图:代码:#include<stdio.h>int la(int m ,int n);int sm(int m ,int n,int o);void main(){int x,y,l,s;printf("please enter x,y\n");scanf("%d,%d",&x,&y);l=la(x,y);s=sm(x,y,l);printf("greatest common d原创 2021-03-14 20:33:45 · 6067 阅读 · 0 评论 -
c语言学习-自定义函数并调用将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数)
c语言自定义函数并调用将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数)程序流程图:代码:#include<stdio.h>char strupr(char ch[10] ){//char ch[10];int i;printf("please input ch:\n");gets(ch);for(i=0;i<=10;i++){ if(ch[i]>=97 && ch[i]<=122){//ch[i]=strupr(c原创 2021-03-14 20:29:53 · 5034 阅读 · 0 评论 -
c语言学习-自定义函数并调用求1-100的累计和
自定义函数并调用求1-100的累计和程序流程图:代码:#include<stdio.h>int sum(int m ){int f;long s=0;for(f=1;f<=100;f++)s=s+f;return s;}void main(){int x=100;long y;y=sum(x);printf("1-100的累计和%d\n",y);} 结果:小结:运用for循环语句自定义函数1-100的累计和,通过函数调用求值。...原创 2021-03-14 20:26:08 · 8705 阅读 · 0 评论 -
c语言学习-定义并调用函数求两个整数之差的绝对值
定义并调用函数求两个整数之差的绝对值程序流程图:代码:#include<stdio.h>int fabs(int m ,int n){int f;f=m-n;if(f<0)f=-f;return f;}void main(){int x,y,z;printf("please enter x\ty\t");scanf("%d,%d",&x,&y);z=fabs(x,y);printf("|%d-%d|=%d\n",x,y,z);}原创 2021-03-14 20:22:23 · 9061 阅读 · 0 评论 -
c语言学习-编写函数求x的n次方的值
编写函数求x的n次方的值程序流程图:代码:#include<stdio.h>long mul(int j ,int k){int i;long mu=1;for(i=0;i<k;i++)mu=mu*j;return mu;}void main(){int x,n;long m;printf("please enter x\tn\t");scanf("%d,%d",&x,&n);m=mul(x,n);printf("%d的%d次方:%d原创 2021-03-14 20:17:49 · 15927 阅读 · 3 评论 -
c语言学习-编写递归函数用于计算n!
编写递归函数用于计算n!程序流程图:代码:#include<stdio.h>long mul(int n){long mu;if(n==0 || n==1)mu=1;elsemu=mul(n-1)*n;return mu;}void main(){int n;long m;printf("please enter n:\n");scanf("%d",&n);if(n<=0)printf("sory!you enter a rong numb原创 2021-03-14 20:14:34 · 3416 阅读 · 0 评论 -
c语言学习-编写函数求组合数C= n! / (k! *( n-k)!)
编写函数求组合数C= n! / (k! *( n-k)!)程序流程图:代码:#include<stdio.h>int mul(int x,int y);void main(){int n,k;double c;printf("please enter n:\tk:\t");scanf("%d,%d",&n,&k);c=mul(n,k);printf("c=%lf:\n",c);}int mul(int x,int y){int mu1=1,mu2原创 2021-03-14 20:10:48 · 4945 阅读 · 0 评论 -
c语言学习-输入三个数求三个数中的最大数
输入三个数求三个数中的最大数程序流程图:代码:#include<stdio.h>double ma(double l,double m,double n);void main(){double x,y,z,max;printf("please enter three number:\n");scanf("%lf,%lf,%lf",&x,&y,&z);max=ma(x,y,z);printf("max=%lf:\n",max);}double m原创 2021-03-14 20:02:50 · 4975 阅读 · 0 评论 -
C语言学习-分段函数求解
在主函数中,输入整数x的值,调用函数,在屏幕上输出y的值y={−2x (x<0)10−x (0⩽x⩽10)x/10 (x>10)y=\begin{cases} -2x\,\, \left( x<0 \right)\\ 10-x\,\, \left( 0\leqslant x\leqslant 10 \right)\\ x/\text{10 }\left( x>10 \right)\\\end{cases}y=⎩⎪⎨⎪⎧−2x(x<0)原创 2021-03-14 19:56:20 · 9072 阅读 · 0 评论 -
c语言学习-从键盘上输入100个字符,统计其中字母、每个数字和其它字符的个数及其百分比
从键盘上输入100个字符,统计其中字母、每个数字和其它字符的个数及其百分比程序流程图:代码:#include<stdio.h>void main(){char ch[100];int i=0,j=0,k=0,l=0;float x,y,z;printf("please enter ch:\n");gets(ch);for(i=0;i<=9;i++){if(ch[i]>=65 && ch[i]<=90)j++;else {if(原创 2021-03-10 15:37:42 · 4070 阅读 · 1 评论 -
c语言学习-打印杨辉三角形(要求打印出10行)
打印杨辉三角形(要求打印出10行)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 ……程序流程图:代码:#include<stdio.h>void main(){ int a[10][10]={1}; int i,j; for(i=1;i<10;i++) { a[i][0]=1; for (j=1;j<=i;j++) a[i][原创 2021-03-10 15:37:24 · 6857 阅读 · 1 评论 -
c语言学习-从键盘输入10个字符,按照字典顺序将其排序输出(二维字符数组)
从键盘输入10个字符,按照字典顺序将其排序输出(二维字符数组)程序流程图:代码:#include<stdio.h>void main(){int b[10];int a[5][2];int i,j,h,k,temp;int m=0;printf("键盘输入10个字符\n");{for(k=0;k<=9;k++){ scanf("%d",&b[k]); printf("b[%d]=%d\t",k,b[k]);}printf("\n");{for(k原创 2021-03-10 15:36:24 · 6508 阅读 · 0 评论 -
c语言学习-在一个三行三列的矩阵中求出数值最大的元素及其行/列下标并打印输出
在一个三行三列的矩阵中求出数值最大的元素及其行/列下标并打印输出程序流程图:代码:#include<stdio.h>void main(){int a[3][3];int i=0,j=0,b,k,h;for(i=0;i<=2;i++){for(j=0;j<=2;j++){ scanf("%d",&a[i][j]); printf("a[%d][%d]=%d\t",i,j,a[i][j]);}printf("\n");}{b=a[1][1]原创 2021-03-10 15:36:08 · 4700 阅读 · 0 评论 -
c语言学习-将一个2*3的矩阵转置为3*2的矩阵
将一个23的矩阵转置为32的矩阵程序流程图:代码:#include<stdio.h>void main(){int ch[2][3]={{1,2,3},{4,5,6}};int i=0,j=0;printf("2*3:\n");for(i=0;i<=1;i++){for(j=0;j<=2;j++) printf("ch[%d][%d]=%d\t",i,j,ch[i][j]);printf("\n");}printf("3*2:\n");for(j=原创 2021-03-10 15:35:29 · 7522 阅读 · 0 评论 -
c语言学习-对从键盘输入的一个字符串中的大英字母及数字进行计数
对从键盘输入的一个字符串中的大英字母及数字进行计数程序流程图:代码:#include<stdio.h>void main(){char ch[10];int i=0,j=0;printf("please enter ch:\n");gets(ch);for(i=0;i<=9;i++){if(ch[i]>=65 && ch[i]<=90)j++;else {if(ch[i]>=48 && ch[i]<=原创 2021-03-10 15:34:30 · 548 阅读 · 0 评论 -
c语言学习-定义一个整型数组a[10],将数组a[10]中的10个元素按逆序重新存放
定义一个整型数组a[10],将数组a[10]中的10个元素按逆序重新存放程序流程图:代码:#include<stdio.h>void main(){ int a[10];int i=0;for(i=0;i<=9;i++){ scanf("%d",&a[i]);}for(i=0;i<=9;i++){ printf("a[%d]=%d\t",i,a[i]);} printf("\n");for(i=0;i<=9;i++){ print原创 2021-03-09 09:06:48 · 17544 阅读 · 1 评论 -
c语言学习-字符串输出
由键盘输入一个字符串,如果字符串中的字符是英文字母,则进行大小写转换,其它字符不变。输出转换后的字符串程序流程图:代码:#include<stdio.h>#include<string.h>void main(){char ch[10];int i;printf("please input ch:\n");gets(ch);for(i=0;i<=10;i++)//scanf("%c",ch);{if(ch[i]>=65 &&原创 2021-03-09 09:06:17 · 901 阅读 · 0 评论 -
c语言学习-有一12个元素的整型数组b,从键盘输入数据,请以每行4个数据各个数据之间空两格的形式输出b数组的12个元素
有一12个元素的整型数组b,从键盘输入数据,请以每行4个数据各个数据之间空两格的形式输出b数组的12个元素程序流程图:代码:#include<stdio.h>void main(){char b[12],i;printf("please enter numbers:\n");//gets(b);for(i=0;i<=11;i++){scanf("%d",&b[i]);if(i%4==0){printf("\n");printf("b[%d]=%d原创 2021-03-09 09:05:45 · 937 阅读 · 0 评论 -
c语言学习-判断101-200之间有多少个素数,并输出所有素数及素数的个数
判断101-200之间有多少个素数,并输出所有素数及素数的个数程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数程序流程图:代码:#include<stdio.h>#include<math.h>void main(){int a=101,b=0,c,d=2;for(a=101;a<=200;a++){c=(int)sqrt(a);for(d=2;d<=c;d++){if(a%d=原创 2021-03-09 09:05:07 · 5268 阅读 · 1 评论 -
c语言学习-输出9*9乘法口诀表
输出9*9乘法口诀。共9行9列,i控制行,j控制列程序流程图:代码:#include<stdio.h>void main(){int a=1,b=1;for(a=1;a<=9;a++){for(b=1;b<=9;b++)printf("%d*%d=%d\t",a,b,a*b);printf("\n");}}结果:原创 2021-03-09 09:04:40 · 1872 阅读 · 0 评论 -
c语言学习-计算200-300之间的偶数和并将和打印输出
计算200-300之间的偶数和并将和打印输出程序流程图:代码:#include<stdio.h>void main(){int a=200,sum=0;for(a=200;a<=300;a=a+2)sum=sum+a;printf("200-300之间的偶数和sum=%d/n",sum);}原创 2021-03-09 09:03:55 · 3846 阅读 · 0 评论 -
c语言学习-求1+2+3+…+100的和存入变量sum中,并将sum打印出来
求1+2+3+…+100的和存入变量sum中,并将sum打印出来程序流程图:代码:#include<stdio.h>void main(){int a=1,sum=0;for(a=1;a<=100;a++)sum=sum+a;printf("sum=%d\n",sum);}结果:原创 2021-03-09 09:00:15 · 2070 阅读 · 0 评论