c语言基本程序.docx
《c语言基本程序.docx》由会员分享,可在线阅读,更多相关《c语言基本程序.docx(24页珍藏版)》请在冰豆网上搜索。
c语言基本程序
全国计算机等级考试二级C考试大纲
基本要求
1.熟悉VisualC++6.0集成开发环境。
2.掌握结构化程序设计的方法,具有良好的程序设计风格。
3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
4.在VisualC++6.0集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。
考试内容
一、C语言程序的结构
1.程序的构成,main函数和其他函数。
2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。
3.源程序的书写格式。
4.C语言的风格。
二、数据类型及其运算
1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。
2.C运算符的种类、运算优先级和结合性。
3.不同类型数据间的转换与运算。
4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
三、基本语句
1.表达式语句,空语句,复合语句。
2.输入输出函数的调用,正确输入数据并正确设计输出格式。
四、选择结构程序设计
1.用if语句实现选择结构。
2.用switch语句实现多分支选择结构。
3.选择结构的嵌套。
五、循环结构程序设计
1.for循环结构。
2.while和do-while循环结构。
3.continue语句break语句。
4.循环的嵌套。
六、数组的定义和引用
1.一维数组和二维数组的定义、初始化和数组元素的引用。
2.字符串与字符数组。
七、函数
1.库函数的正确调用。
2.函数的定义方法。
3.函数的类型和返回值。
4.形式参数与实在参数,参数值的传递。
5.函数的正确调用,嵌套调用,递归调用。
6.局部变量和全局变量。
7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
八、编译预处理
1.宏定义和调用(不带参数的宏,带参数的宏)。
2.“文件包含”处理。
九、指针
1.地址与指针变量的概念,地址运算符与间址运算符。
2.一维。
二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。
通过指针引用以上各类型数据。
3.用指针作函数参数。
4.返回地址值的函数。
5.指针数组,指向指针的指针。
十、结构体(即“结构”)与共同体(即:
“联合”)
1.用typedef说明一个新类型。
2.结构体和共用体类型数据的定义和成员的引用。
3.通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。
十一、位运算
1.位运算符的含义和使用。
2.简单的位运算。
十二、文件操作
只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
1.文件类型指针(FILE类型指针)。
2.文件的打开与关闭(fopen,fclose)。
3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数的应用),文件的定位(rewind,fseek函数的应用)。
C语言重点程序总结
一、累加:
用c语言实现1+2+3+4+5+6+7+8+9+10的累加
方法1:
#include
main()
{
inti,sum=0;
printf("实现1+2+……+10的累加:
\n");
for(i=1;i<=10;i++)
sum=sum+i;
printf("%d\n",sum);
}
方法2:
inti,sum;
sum=0;
i=1;
while(i<=10)
i=i+1;
二、累乘:
用c语言实现1*2*3*4*5*6*7*8*9*10的累乘:
inti=0,sum=1;
printf("实现1*2*3*4*5*6*7*8*9*10的累乘:
for(i=2;i<=10;i++)
sum*=i;
sum=1;i=1;
sum=sum*i;
三、求阶乘:
利用定义
inti,n;
longf=1;
printf("输入一个数求其阶乘:
scanf("%d",&n);
for(i=1;i<=n;i++)
f=f*i;
printf("%d!
=%ld\n",n,f);
利用递推关系
longfact(intn)
{longs;
if(n<=1)
s=1;
else
s=n*fact(n-1);
returns;}
{intnum;
scanf("%d",&num);
=%ld\n",num,fact(num));
方法3:
{staticlongf=1;
f=f*n;
returnf;
{inti;
for(i=1;i<=5;i++)
=%ld\n",i,fact(i));
四、整数的各位分离:
1、#include
inta[10],n,i=0;
printf("请输入一个数:
while(n!
=0)
a[i++]=n%10;n/=10;
for(i--;i>=0;i--)
printf("%d\t",a[i]);
printf("\n");
2、#include
intx;
chara,b,c;
printf("请输入一个三位整数:
");
scanf("%d",&x);
a=x/100;
b=x/10-10*a;
c=x-100*a-10*b;
printf("%2d%2d%2d\n",c,b,a);
五、整数的逆序输出:
#include"string.h"
charstr[100];
ints,i,n;
printf("请输入一个数:
scanf("%d",&s);
for(i=0;s>0;i++)
n=s%10;
s=(s-n)/10;
str[i]=n+48;
str[i]='\0';
puts(str);
六、数组元素逆置
下列给定程序中,函数fun的功能是:
逆置数组元素中的值。
例如:
若a所指数组中的数据为:
1、2、3、4、5、6、7、8、9,则逆置后依次为:
9、8、7、6、5、4、3、2、1。
形参n给出数组中数据的个数。
fun(inta[],intn)
{inti,t;
for(i=0;i{t=a[i];a[i]=a[n-1-i];a[n-i-1]=t;}}main(){intb[9]={1,2,3,4,5,6,7,8,9},i;printf("\nTheoriginaldata:\n");for(i=0;i<9;i++)printf("%4d",b[i]);printf("\n");fun(b,9);printf("\nThedataafterinvert:\n");for(i=0;i<9;i++)printf("%4d",b[i]);printf("\n");}七、判断某数为素数:1、输入一个数判断其是否为素数#includefun(intn){inti;for(i=2;iif(n%i==0){printf("%d不是素数!\n",n);break;}if(i==n-1)printf("%d是素数!\n",n);}main(){intn;printf("输入一个数判断其是否为素数:\n");scanf("%d",&n);fun(n);}2、输出100~200之间的素数:#include#includemain(){intm,leap=1,h=0,k,i;printf("输出100~200之间的素数:\n");for(m=101;m<=200;m++){k=(int)sqrt(m+1);for(i=2;iif(m%i==0){leap=0;break;}if(leap){printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\ntotalis%d",h);printf("\n");}八、冒泡法排序:1、#includemain(){inta[10],i,j,b;printf("输入10个数并由大到小输出:\n");for(i=0;i<10;i++){scanf("%d",&a[i]);}for(j=0;j<9;j++){for(i=0;i<9-j;i++){if(a[i]{b=a[i];a[i]=a[i+1];a[i+1]=b;}}}for(i=0;i<10;i++){printf("%d\t",a[i]);}printf("\n");}2、10个数由小到大排序#includemain(){inta[10];//定义一个数组既它的元素为10inti,j,temp;//定义3个变量printf("输入10个整数:\n\a");for(i=0;i<10;i++)scanf("%d",&a[i]);//依次输入10个整数for(i=0;i<9;i++)//进行9轮排序{for(j=0;j<9-i;j++)//每轮进行9-i次交换if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];//大的沉底,小的上浮a[j+1]=temp;}}printf("排序结果:\n");for(i=0;i<10;i++)//依次输出排序结果printf("%d\t",a[i]);}3、冒泡法排序的实质过程<输入5个数由小到大排序>#include#includePrintArray(inta[],intn)//输出排序每一步的结果{inti;for(i=0;iprintf("%4d",a[i]);printf("\n");}BubbleSort(inta[],intn)//冒泡排序函数{inti,j,tmp;//tmp为中间变量intflag;//标志变量,如果为0,说明不再交换顺序,排序结束intcount=0;//记录交换次数printf("initialsorting:");PrintArray(a,n);//输出排序前的序列for(i=0;i{flag=0;//初始值为0for(j=i+1;j{if(a[i]>a[j])//如果前面的数比后面的数大,进行交换{tmp=a[i];a[i]=a[j];a[j]=tmp;flag=1;//如果发生交换,标识变量设为1}}count++;//记录已经发生的排序次数printf("after%dsorting:",count);PrintArray(a,n);//输出第count次的排序结果if(flag==0)//没进行一次排序,flag都清0,若交换再发生,则排序完成{return;}}}main()//主函数{int*a,n=5,i=0;a=(int*)malloc(n*sizeof(int));//为5个待排序的整型数开辟储存空间for(i=0;iscanf("%d",&a[i]);//输入待排序数BubbleSort(a,n);//调用排序函数进行排序free(a);//排序结束,释放储存空间}九、求最大公约数和最小公倍数:原理:输入两个正整数m和n,求其最大公约数和最小公倍数.<1>用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0,则m<-n,n<-a,继续求余,否则n为最大公约数<2>最小公倍数=两个数的积/最大公约数方法1:利用辗转相除法#includeintgcd(inta,intb)//最大公约数{if(aelseif(b==0)returna;elsereturngcd(b,a%b);}intlcm(inta,intb){returna*b/gcd(a,b);}main(){inta,b;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&a,&b);printf("最大公约数:%d\n",gcd(a,b));printf("最小公倍数:%d\n",lcm(a,b));}方法2:#includemain(){intm,n;intm_cup,n_cup,res;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&m,&n);if(m>0&&n>0){m_cup=m;n_cup=n;res=m_cup%n_cup;while(res!=0){m_cup=n_cup;n_cup=res;res=m_cup%n_cup;}printf("最大公约数:%d\n",n_cup);printf("最小公倍数:%d\n",m*n/n_cup);}elseprintf("Error!\n");}方法3:求三个数的最大公约数与最小公倍数#includegcd(inta,intb){if(b==0)returna;elsereturngcd(b,a%b);}main(){inta,b,c,g,l;printf("输入三个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d%d",&a,&b,&c);g=gcd(gcd(a,b),c);l=(a/g)*(b/g)*c;printf("最大公约数:%d\n最小公倍数:%d\n",g,l);}十、比较大小:1、比较两个数的大小:#includemain(){inta,b;printf("请输入两个数:\n");scanf("%d%d",&a,&b);if(a>b){printf("%d>%d\n",a,b);}else{printf("%d<%d\n",a,b);}}或者:#includemain(){intmax,a,b;printf("请输入两个整数:");scanf("%d%d",&a,&b);max=a>b?a:b;printf("最大值为%d\n",max);}或者:#includeintmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){intx,y,n;intmax(intx,inty);printf("求两树中的较大者:");printf("请输入两个整数:");scanf("%d%d",&x,&y);n=max(x,y);printf("最大值为%d\n",max);}2、比较三个数的大小:#includemain(){inta,b,c,max;printf("请输入三个数:\n");scanf("%d%d%d",&a,&b,&c);max=(c>((a>b)?a:b))?c:((a>b)?a:b);printf("最大数为%d\n",max);}十一、九九乘法表:1、下三角常见形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d\t",i,j,i*j);printf("\n");}}2、完整形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=9;j++)printf("%d*%d=%2d",i,j,i*j);printf("\n");}}12、四阶矩阵转置:#include#definen14#definen24inta[n1][n2],b[n2][n1];main(){inta[n1][n2],b[n2][n1];inti,j;printf("请输入一个%d行%d列的矩阵:\n",n1,n2);for(i=0;ifor(j=0;jscanf("%d",*(a+i)+j);//使用元素a[i][j]的地址printf("转置后的矩阵为:\n");for(i=0;i{for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
t=a[i];
a[i]=a[n-1-i];
a[n-i-1]=t;
{intb[9]={1,2,3,4,5,6,7,8,9},i;
printf("\nTheoriginaldata:
for(i=0;i<9;i++)
printf("%4d",b[i]);
fun(b,9);
printf("\nThedataafterinvert:
七、判断某数为素数:
1、输入一个数判断其是否为素数
fun(intn)
inti;
for(i=2;iif(n%i==0){printf("%d不是素数!\n",n);break;}if(i==n-1)printf("%d是素数!\n",n);}main(){intn;printf("输入一个数判断其是否为素数:\n");scanf("%d",&n);fun(n);}2、输出100~200之间的素数:#include#includemain(){intm,leap=1,h=0,k,i;printf("输出100~200之间的素数:\n");for(m=101;m<=200;m++){k=(int)sqrt(m+1);for(i=2;iif(m%i==0){leap=0;break;}if(leap){printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\ntotalis%d",h);printf("\n");}八、冒泡法排序:1、#includemain(){inta[10],i,j,b;printf("输入10个数并由大到小输出:\n");for(i=0;i<10;i++){scanf("%d",&a[i]);}for(j=0;j<9;j++){for(i=0;i<9-j;i++){if(a[i]{b=a[i];a[i]=a[i+1];a[i+1]=b;}}}for(i=0;i<10;i++){printf("%d\t",a[i]);}printf("\n");}2、10个数由小到大排序#includemain(){inta[10];//定义一个数组既它的元素为10inti,j,temp;//定义3个变量printf("输入10个整数:\n\a");for(i=0;i<10;i++)scanf("%d",&a[i]);//依次输入10个整数for(i=0;i<9;i++)//进行9轮排序{for(j=0;j<9-i;j++)//每轮进行9-i次交换if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];//大的沉底,小的上浮a[j+1]=temp;}}printf("排序结果:\n");for(i=0;i<10;i++)//依次输出排序结果printf("%d\t",a[i]);}3、冒泡法排序的实质过程<输入5个数由小到大排序>#include#includePrintArray(inta[],intn)//输出排序每一步的结果{inti;for(i=0;iprintf("%4d",a[i]);printf("\n");}BubbleSort(inta[],intn)//冒泡排序函数{inti,j,tmp;//tmp为中间变量intflag;//标志变量,如果为0,说明不再交换顺序,排序结束intcount=0;//记录交换次数printf("initialsorting:");PrintArray(a,n);//输出排序前的序列for(i=0;i{flag=0;//初始值为0for(j=i+1;j{if(a[i]>a[j])//如果前面的数比后面的数大,进行交换{tmp=a[i];a[i]=a[j];a[j]=tmp;flag=1;//如果发生交换,标识变量设为1}}count++;//记录已经发生的排序次数printf("after%dsorting:",count);PrintArray(a,n);//输出第count次的排序结果if(flag==0)//没进行一次排序,flag都清0,若交换再发生,则排序完成{return;}}}main()//主函数{int*a,n=5,i=0;a=(int*)malloc(n*sizeof(int));//为5个待排序的整型数开辟储存空间for(i=0;iscanf("%d",&a[i]);//输入待排序数BubbleSort(a,n);//调用排序函数进行排序free(a);//排序结束,释放储存空间}九、求最大公约数和最小公倍数:原理:输入两个正整数m和n,求其最大公约数和最小公倍数.<1>用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0,则m<-n,n<-a,继续求余,否则n为最大公约数<2>最小公倍数=两个数的积/最大公约数方法1:利用辗转相除法#includeintgcd(inta,intb)//最大公约数{if(aelseif(b==0)returna;elsereturngcd(b,a%b);}intlcm(inta,intb){returna*b/gcd(a,b);}main(){inta,b;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&a,&b);printf("最大公约数:%d\n",gcd(a,b));printf("最小公倍数:%d\n",lcm(a,b));}方法2:#includemain(){intm,n;intm_cup,n_cup,res;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&m,&n);if(m>0&&n>0){m_cup=m;n_cup=n;res=m_cup%n_cup;while(res!=0){m_cup=n_cup;n_cup=res;res=m_cup%n_cup;}printf("最大公约数:%d\n",n_cup);printf("最小公倍数:%d\n",m*n/n_cup);}elseprintf("Error!\n");}方法3:求三个数的最大公约数与最小公倍数#includegcd(inta,intb){if(b==0)returna;elsereturngcd(b,a%b);}main(){inta,b,c,g,l;printf("输入三个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d%d",&a,&b,&c);g=gcd(gcd(a,b),c);l=(a/g)*(b/g)*c;printf("最大公约数:%d\n最小公倍数:%d\n",g,l);}十、比较大小:1、比较两个数的大小:#includemain(){inta,b;printf("请输入两个数:\n");scanf("%d%d",&a,&b);if(a>b){printf("%d>%d\n",a,b);}else{printf("%d<%d\n",a,b);}}或者:#includemain(){intmax,a,b;printf("请输入两个整数:");scanf("%d%d",&a,&b);max=a>b?a:b;printf("最大值为%d\n",max);}或者:#includeintmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){intx,y,n;intmax(intx,inty);printf("求两树中的较大者:");printf("请输入两个整数:");scanf("%d%d",&x,&y);n=max(x,y);printf("最大值为%d\n",max);}2、比较三个数的大小:#includemain(){inta,b,c,max;printf("请输入三个数:\n");scanf("%d%d%d",&a,&b,&c);max=(c>((a>b)?a:b))?c:((a>b)?a:b);printf("最大数为%d\n",max);}十一、九九乘法表:1、下三角常见形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d\t",i,j,i*j);printf("\n");}}2、完整形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=9;j++)printf("%d*%d=%2d",i,j,i*j);printf("\n");}}12、四阶矩阵转置:#include#definen14#definen24inta[n1][n2],b[n2][n1];main(){inta[n1][n2],b[n2][n1];inti,j;printf("请输入一个%d行%d列的矩阵:\n",n1,n2);for(i=0;ifor(j=0;jscanf("%d",*(a+i)+j);//使用元素a[i][j]的地址printf("转置后的矩阵为:\n");for(i=0;i{for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
if(n%i==0)
printf("%d不是素数!
\n",n);
break;
if(i==n-1)
printf("%d是素数!
intn;
printf("输入一个数判断其是否为素数:
fun(n);
2、输出100~200之间的素数:
intm,leap=1,h=0,k,i;
printf("输出100~200之间的素数:
for(m=101;m<=200;m++)
k=(int)sqrt(m+1);
for(i=2;iif(m%i==0){leap=0;break;}if(leap){printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\ntotalis%d",h);printf("\n");}八、冒泡法排序:1、#includemain(){inta[10],i,j,b;printf("输入10个数并由大到小输出:\n");for(i=0;i<10;i++){scanf("%d",&a[i]);}for(j=0;j<9;j++){for(i=0;i<9-j;i++){if(a[i]{b=a[i];a[i]=a[i+1];a[i+1]=b;}}}for(i=0;i<10;i++){printf("%d\t",a[i]);}printf("\n");}2、10个数由小到大排序#includemain(){inta[10];//定义一个数组既它的元素为10inti,j,temp;//定义3个变量printf("输入10个整数:\n\a");for(i=0;i<10;i++)scanf("%d",&a[i]);//依次输入10个整数for(i=0;i<9;i++)//进行9轮排序{for(j=0;j<9-i;j++)//每轮进行9-i次交换if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];//大的沉底,小的上浮a[j+1]=temp;}}printf("排序结果:\n");for(i=0;i<10;i++)//依次输出排序结果printf("%d\t",a[i]);}3、冒泡法排序的实质过程<输入5个数由小到大排序>#include#includePrintArray(inta[],intn)//输出排序每一步的结果{inti;for(i=0;iprintf("%4d",a[i]);printf("\n");}BubbleSort(inta[],intn)//冒泡排序函数{inti,j,tmp;//tmp为中间变量intflag;//标志变量,如果为0,说明不再交换顺序,排序结束intcount=0;//记录交换次数printf("initialsorting:");PrintArray(a,n);//输出排序前的序列for(i=0;i{flag=0;//初始值为0for(j=i+1;j{if(a[i]>a[j])//如果前面的数比后面的数大,进行交换{tmp=a[i];a[i]=a[j];a[j]=tmp;flag=1;//如果发生交换,标识变量设为1}}count++;//记录已经发生的排序次数printf("after%dsorting:",count);PrintArray(a,n);//输出第count次的排序结果if(flag==0)//没进行一次排序,flag都清0,若交换再发生,则排序完成{return;}}}main()//主函数{int*a,n=5,i=0;a=(int*)malloc(n*sizeof(int));//为5个待排序的整型数开辟储存空间for(i=0;iscanf("%d",&a[i]);//输入待排序数BubbleSort(a,n);//调用排序函数进行排序free(a);//排序结束,释放储存空间}九、求最大公约数和最小公倍数:原理:输入两个正整数m和n,求其最大公约数和最小公倍数.<1>用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0,则m<-n,n<-a,继续求余,否则n为最大公约数<2>最小公倍数=两个数的积/最大公约数方法1:利用辗转相除法#includeintgcd(inta,intb)//最大公约数{if(aelseif(b==0)returna;elsereturngcd(b,a%b);}intlcm(inta,intb){returna*b/gcd(a,b);}main(){inta,b;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&a,&b);printf("最大公约数:%d\n",gcd(a,b));printf("最小公倍数:%d\n",lcm(a,b));}方法2:#includemain(){intm,n;intm_cup,n_cup,res;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&m,&n);if(m>0&&n>0){m_cup=m;n_cup=n;res=m_cup%n_cup;while(res!=0){m_cup=n_cup;n_cup=res;res=m_cup%n_cup;}printf("最大公约数:%d\n",n_cup);printf("最小公倍数:%d\n",m*n/n_cup);}elseprintf("Error!\n");}方法3:求三个数的最大公约数与最小公倍数#includegcd(inta,intb){if(b==0)returna;elsereturngcd(b,a%b);}main(){inta,b,c,g,l;printf("输入三个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d%d",&a,&b,&c);g=gcd(gcd(a,b),c);l=(a/g)*(b/g)*c;printf("最大公约数:%d\n最小公倍数:%d\n",g,l);}十、比较大小:1、比较两个数的大小:#includemain(){inta,b;printf("请输入两个数:\n");scanf("%d%d",&a,&b);if(a>b){printf("%d>%d\n",a,b);}else{printf("%d<%d\n",a,b);}}或者:#includemain(){intmax,a,b;printf("请输入两个整数:");scanf("%d%d",&a,&b);max=a>b?a:b;printf("最大值为%d\n",max);}或者:#includeintmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){intx,y,n;intmax(intx,inty);printf("求两树中的较大者:");printf("请输入两个整数:");scanf("%d%d",&x,&y);n=max(x,y);printf("最大值为%d\n",max);}2、比较三个数的大小:#includemain(){inta,b,c,max;printf("请输入三个数:\n");scanf("%d%d%d",&a,&b,&c);max=(c>((a>b)?a:b))?c:((a>b)?a:b);printf("最大数为%d\n",max);}十一、九九乘法表:1、下三角常见形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d\t",i,j,i*j);printf("\n");}}2、完整形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=9;j++)printf("%d*%d=%2d",i,j,i*j);printf("\n");}}12、四阶矩阵转置:#include#definen14#definen24inta[n1][n2],b[n2][n1];main(){inta[n1][n2],b[n2][n1];inti,j;printf("请输入一个%d行%d列的矩阵:\n",n1,n2);for(i=0;ifor(j=0;jscanf("%d",*(a+i)+j);//使用元素a[i][j]的地址printf("转置后的矩阵为:\n");for(i=0;i{for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
if(m%i==0)
leap=0;
if(leap)
printf("%-4d",m);
h++;
if(h%10==0)
leap=1;
printf("\ntotalis%d",h);
八、冒泡法排序:
inta[10],i,j,b;
printf("输入10个数并由大到小输出:
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]{b=a[i];a[i]=a[i+1];a[i+1]=b;}}}for(i=0;i<10;i++){printf("%d\t",a[i]);}printf("\n");}2、10个数由小到大排序#includemain(){inta[10];//定义一个数组既它的元素为10inti,j,temp;//定义3个变量printf("输入10个整数:\n\a");for(i=0;i<10;i++)scanf("%d",&a[i]);//依次输入10个整数for(i=0;i<9;i++)//进行9轮排序{for(j=0;j<9-i;j++)//每轮进行9-i次交换if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];//大的沉底,小的上浮a[j+1]=temp;}}printf("排序结果:\n");for(i=0;i<10;i++)//依次输出排序结果printf("%d\t",a[i]);}3、冒泡法排序的实质过程<输入5个数由小到大排序>#include#includePrintArray(inta[],intn)//输出排序每一步的结果{inti;for(i=0;iprintf("%4d",a[i]);printf("\n");}BubbleSort(inta[],intn)//冒泡排序函数{inti,j,tmp;//tmp为中间变量intflag;//标志变量,如果为0,说明不再交换顺序,排序结束intcount=0;//记录交换次数printf("initialsorting:");PrintArray(a,n);//输出排序前的序列for(i=0;i{flag=0;//初始值为0for(j=i+1;j{if(a[i]>a[j])//如果前面的数比后面的数大,进行交换{tmp=a[i];a[i]=a[j];a[j]=tmp;flag=1;//如果发生交换,标识变量设为1}}count++;//记录已经发生的排序次数printf("after%dsorting:",count);PrintArray(a,n);//输出第count次的排序结果if(flag==0)//没进行一次排序,flag都清0,若交换再发生,则排序完成{return;}}}main()//主函数{int*a,n=5,i=0;a=(int*)malloc(n*sizeof(int));//为5个待排序的整型数开辟储存空间for(i=0;iscanf("%d",&a[i]);//输入待排序数BubbleSort(a,n);//调用排序函数进行排序free(a);//排序结束,释放储存空间}九、求最大公约数和最小公倍数:原理:输入两个正整数m和n,求其最大公约数和最小公倍数.<1>用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0,则m<-n,n<-a,继续求余,否则n为最大公约数<2>最小公倍数=两个数的积/最大公约数方法1:利用辗转相除法#includeintgcd(inta,intb)//最大公约数{if(aelseif(b==0)returna;elsereturngcd(b,a%b);}intlcm(inta,intb){returna*b/gcd(a,b);}main(){inta,b;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&a,&b);printf("最大公约数:%d\n",gcd(a,b));printf("最小公倍数:%d\n",lcm(a,b));}方法2:#includemain(){intm,n;intm_cup,n_cup,res;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&m,&n);if(m>0&&n>0){m_cup=m;n_cup=n;res=m_cup%n_cup;while(res!=0){m_cup=n_cup;n_cup=res;res=m_cup%n_cup;}printf("最大公约数:%d\n",n_cup);printf("最小公倍数:%d\n",m*n/n_cup);}elseprintf("Error!\n");}方法3:求三个数的最大公约数与最小公倍数#includegcd(inta,intb){if(b==0)returna;elsereturngcd(b,a%b);}main(){inta,b,c,g,l;printf("输入三个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d%d",&a,&b,&c);g=gcd(gcd(a,b),c);l=(a/g)*(b/g)*c;printf("最大公约数:%d\n最小公倍数:%d\n",g,l);}十、比较大小:1、比较两个数的大小:#includemain(){inta,b;printf("请输入两个数:\n");scanf("%d%d",&a,&b);if(a>b){printf("%d>%d\n",a,b);}else{printf("%d<%d\n",a,b);}}或者:#includemain(){intmax,a,b;printf("请输入两个整数:");scanf("%d%d",&a,&b);max=a>b?a:b;printf("最大值为%d\n",max);}或者:#includeintmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){intx,y,n;intmax(intx,inty);printf("求两树中的较大者:");printf("请输入两个整数:");scanf("%d%d",&x,&y);n=max(x,y);printf("最大值为%d\n",max);}2、比较三个数的大小:#includemain(){inta,b,c,max;printf("请输入三个数:\n");scanf("%d%d%d",&a,&b,&c);max=(c>((a>b)?a:b))?c:((a>b)?a:b);printf("最大数为%d\n",max);}十一、九九乘法表:1、下三角常见形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d\t",i,j,i*j);printf("\n");}}2、完整形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=9;j++)printf("%d*%d=%2d",i,j,i*j);printf("\n");}}12、四阶矩阵转置:#include#definen14#definen24inta[n1][n2],b[n2][n1];main(){inta[n1][n2],b[n2][n1];inti,j;printf("请输入一个%d行%d列的矩阵:\n",n1,n2);for(i=0;ifor(j=0;jscanf("%d",*(a+i)+j);//使用元素a[i][j]的地址printf("转置后的矩阵为:\n");for(i=0;i{for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
b=a[i];
a[i]=a[i+1];
a[i+1]=b;
2、10个数由小到大排序
inta[10];//定义一个数组既它的元素为10
inti,j,temp;//定义3个变量
printf("输入10个整数:
\n\a");
scanf("%d",&a[i]);//依次输入10个整数
for(i=0;i<9;i++)//进行9轮排序
for(j=0;j<9-i;j++)//每轮进行9-i次交换
if(a[j]>a[j+1])
temp=a[j];
a[j]=a[j+1];//大的沉底,小的上浮
a[j+1]=temp;
printf("排序结果:
for(i=0;i<10;i++)//依次输出排序结果
3、冒泡法排序的实质过程<输入5个数由小到大排序>
PrintArray(inta[],intn)//输出排序每一步的结果
for(i=0;iprintf("%4d",a[i]);printf("\n");}BubbleSort(inta[],intn)//冒泡排序函数{inti,j,tmp;//tmp为中间变量intflag;//标志变量,如果为0,说明不再交换顺序,排序结束intcount=0;//记录交换次数printf("initialsorting:");PrintArray(a,n);//输出排序前的序列for(i=0;i{flag=0;//初始值为0for(j=i+1;j{if(a[i]>a[j])//如果前面的数比后面的数大,进行交换{tmp=a[i];a[i]=a[j];a[j]=tmp;flag=1;//如果发生交换,标识变量设为1}}count++;//记录已经发生的排序次数printf("after%dsorting:",count);PrintArray(a,n);//输出第count次的排序结果if(flag==0)//没进行一次排序,flag都清0,若交换再发生,则排序完成{return;}}}main()//主函数{int*a,n=5,i=0;a=(int*)malloc(n*sizeof(int));//为5个待排序的整型数开辟储存空间for(i=0;iscanf("%d",&a[i]);//输入待排序数BubbleSort(a,n);//调用排序函数进行排序free(a);//排序结束,释放储存空间}九、求最大公约数和最小公倍数:原理:输入两个正整数m和n,求其最大公约数和最小公倍数.<1>用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0,则m<-n,n<-a,继续求余,否则n为最大公约数<2>最小公倍数=两个数的积/最大公约数方法1:利用辗转相除法#includeintgcd(inta,intb)//最大公约数{if(aelseif(b==0)returna;elsereturngcd(b,a%b);}intlcm(inta,intb){returna*b/gcd(a,b);}main(){inta,b;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&a,&b);printf("最大公约数:%d\n",gcd(a,b));printf("最小公倍数:%d\n",lcm(a,b));}方法2:#includemain(){intm,n;intm_cup,n_cup,res;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&m,&n);if(m>0&&n>0){m_cup=m;n_cup=n;res=m_cup%n_cup;while(res!=0){m_cup=n_cup;n_cup=res;res=m_cup%n_cup;}printf("最大公约数:%d\n",n_cup);printf("最小公倍数:%d\n",m*n/n_cup);}elseprintf("Error!\n");}方法3:求三个数的最大公约数与最小公倍数#includegcd(inta,intb){if(b==0)returna;elsereturngcd(b,a%b);}main(){inta,b,c,g,l;printf("输入三个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d%d",&a,&b,&c);g=gcd(gcd(a,b),c);l=(a/g)*(b/g)*c;printf("最大公约数:%d\n最小公倍数:%d\n",g,l);}十、比较大小:1、比较两个数的大小:#includemain(){inta,b;printf("请输入两个数:\n");scanf("%d%d",&a,&b);if(a>b){printf("%d>%d\n",a,b);}else{printf("%d<%d\n",a,b);}}或者:#includemain(){intmax,a,b;printf("请输入两个整数:");scanf("%d%d",&a,&b);max=a>b?a:b;printf("最大值为%d\n",max);}或者:#includeintmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){intx,y,n;intmax(intx,inty);printf("求两树中的较大者:");printf("请输入两个整数:");scanf("%d%d",&x,&y);n=max(x,y);printf("最大值为%d\n",max);}2、比较三个数的大小:#includemain(){inta,b,c,max;printf("请输入三个数:\n");scanf("%d%d%d",&a,&b,&c);max=(c>((a>b)?a:b))?c:((a>b)?a:b);printf("最大数为%d\n",max);}十一、九九乘法表:1、下三角常见形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d\t",i,j,i*j);printf("\n");}}2、完整形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=9;j++)printf("%d*%d=%2d",i,j,i*j);printf("\n");}}12、四阶矩阵转置:#include#definen14#definen24inta[n1][n2],b[n2][n1];main(){inta[n1][n2],b[n2][n1];inti,j;printf("请输入一个%d行%d列的矩阵:\n",n1,n2);for(i=0;ifor(j=0;jscanf("%d",*(a+i)+j);//使用元素a[i][j]的地址printf("转置后的矩阵为:\n");for(i=0;i{for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
printf("%4d",a[i]);
BubbleSort(inta[],intn)//冒泡排序函数
inti,j,tmp;//tmp为中间变量
intflag;//标志变量,如果为0,说明不再交换顺序,排序结束
intcount=0;//记录交换次数
printf("initialsorting:
PrintArray(a,n);//输出排序前的序列
for(i=0;i{flag=0;//初始值为0for(j=i+1;j{if(a[i]>a[j])//如果前面的数比后面的数大,进行交换{tmp=a[i];a[i]=a[j];a[j]=tmp;flag=1;//如果发生交换,标识变量设为1}}count++;//记录已经发生的排序次数printf("after%dsorting:",count);PrintArray(a,n);//输出第count次的排序结果if(flag==0)//没进行一次排序,flag都清0,若交换再发生,则排序完成{return;}}}main()//主函数{int*a,n=5,i=0;a=(int*)malloc(n*sizeof(int));//为5个待排序的整型数开辟储存空间for(i=0;iscanf("%d",&a[i]);//输入待排序数BubbleSort(a,n);//调用排序函数进行排序free(a);//排序结束,释放储存空间}九、求最大公约数和最小公倍数:原理:输入两个正整数m和n,求其最大公约数和最小公倍数.<1>用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0,则m<-n,n<-a,继续求余,否则n为最大公约数<2>最小公倍数=两个数的积/最大公约数方法1:利用辗转相除法#includeintgcd(inta,intb)//最大公约数{if(aelseif(b==0)returna;elsereturngcd(b,a%b);}intlcm(inta,intb){returna*b/gcd(a,b);}main(){inta,b;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&a,&b);printf("最大公约数:%d\n",gcd(a,b));printf("最小公倍数:%d\n",lcm(a,b));}方法2:#includemain(){intm,n;intm_cup,n_cup,res;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&m,&n);if(m>0&&n>0){m_cup=m;n_cup=n;res=m_cup%n_cup;while(res!=0){m_cup=n_cup;n_cup=res;res=m_cup%n_cup;}printf("最大公约数:%d\n",n_cup);printf("最小公倍数:%d\n",m*n/n_cup);}elseprintf("Error!\n");}方法3:求三个数的最大公约数与最小公倍数#includegcd(inta,intb){if(b==0)returna;elsereturngcd(b,a%b);}main(){inta,b,c,g,l;printf("输入三个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d%d",&a,&b,&c);g=gcd(gcd(a,b),c);l=(a/g)*(b/g)*c;printf("最大公约数:%d\n最小公倍数:%d\n",g,l);}十、比较大小:1、比较两个数的大小:#includemain(){inta,b;printf("请输入两个数:\n");scanf("%d%d",&a,&b);if(a>b){printf("%d>%d\n",a,b);}else{printf("%d<%d\n",a,b);}}或者:#includemain(){intmax,a,b;printf("请输入两个整数:");scanf("%d%d",&a,&b);max=a>b?a:b;printf("最大值为%d\n",max);}或者:#includeintmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){intx,y,n;intmax(intx,inty);printf("求两树中的较大者:");printf("请输入两个整数:");scanf("%d%d",&x,&y);n=max(x,y);printf("最大值为%d\n",max);}2、比较三个数的大小:#includemain(){inta,b,c,max;printf("请输入三个数:\n");scanf("%d%d%d",&a,&b,&c);max=(c>((a>b)?a:b))?c:((a>b)?a:b);printf("最大数为%d\n",max);}十一、九九乘法表:1、下三角常见形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d\t",i,j,i*j);printf("\n");}}2、完整形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=9;j++)printf("%d*%d=%2d",i,j,i*j);printf("\n");}}12、四阶矩阵转置:#include#definen14#definen24inta[n1][n2],b[n2][n1];main(){inta[n1][n2],b[n2][n1];inti,j;printf("请输入一个%d行%d列的矩阵:\n",n1,n2);for(i=0;ifor(j=0;jscanf("%d",*(a+i)+j);//使用元素a[i][j]的地址printf("转置后的矩阵为:\n");for(i=0;i{for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
flag=0;//初始值为0
for(j=i+1;j{if(a[i]>a[j])//如果前面的数比后面的数大,进行交换{tmp=a[i];a[i]=a[j];a[j]=tmp;flag=1;//如果发生交换,标识变量设为1}}count++;//记录已经发生的排序次数printf("after%dsorting:",count);PrintArray(a,n);//输出第count次的排序结果if(flag==0)//没进行一次排序,flag都清0,若交换再发生,则排序完成{return;}}}main()//主函数{int*a,n=5,i=0;a=(int*)malloc(n*sizeof(int));//为5个待排序的整型数开辟储存空间for(i=0;iscanf("%d",&a[i]);//输入待排序数BubbleSort(a,n);//调用排序函数进行排序free(a);//排序结束,释放储存空间}九、求最大公约数和最小公倍数:原理:输入两个正整数m和n,求其最大公约数和最小公倍数.<1>用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0,则m<-n,n<-a,继续求余,否则n为最大公约数<2>最小公倍数=两个数的积/最大公约数方法1:利用辗转相除法#includeintgcd(inta,intb)//最大公约数{if(aelseif(b==0)returna;elsereturngcd(b,a%b);}intlcm(inta,intb){returna*b/gcd(a,b);}main(){inta,b;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&a,&b);printf("最大公约数:%d\n",gcd(a,b));printf("最小公倍数:%d\n",lcm(a,b));}方法2:#includemain(){intm,n;intm_cup,n_cup,res;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&m,&n);if(m>0&&n>0){m_cup=m;n_cup=n;res=m_cup%n_cup;while(res!=0){m_cup=n_cup;n_cup=res;res=m_cup%n_cup;}printf("最大公约数:%d\n",n_cup);printf("最小公倍数:%d\n",m*n/n_cup);}elseprintf("Error!\n");}方法3:求三个数的最大公约数与最小公倍数#includegcd(inta,intb){if(b==0)returna;elsereturngcd(b,a%b);}main(){inta,b,c,g,l;printf("输入三个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d%d",&a,&b,&c);g=gcd(gcd(a,b),c);l=(a/g)*(b/g)*c;printf("最大公约数:%d\n最小公倍数:%d\n",g,l);}十、比较大小:1、比较两个数的大小:#includemain(){inta,b;printf("请输入两个数:\n");scanf("%d%d",&a,&b);if(a>b){printf("%d>%d\n",a,b);}else{printf("%d<%d\n",a,b);}}或者:#includemain(){intmax,a,b;printf("请输入两个整数:");scanf("%d%d",&a,&b);max=a>b?a:b;printf("最大值为%d\n",max);}或者:#includeintmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){intx,y,n;intmax(intx,inty);printf("求两树中的较大者:");printf("请输入两个整数:");scanf("%d%d",&x,&y);n=max(x,y);printf("最大值为%d\n",max);}2、比较三个数的大小:#includemain(){inta,b,c,max;printf("请输入三个数:\n");scanf("%d%d%d",&a,&b,&c);max=(c>((a>b)?a:b))?c:((a>b)?a:b);printf("最大数为%d\n",max);}十一、九九乘法表:1、下三角常见形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d\t",i,j,i*j);printf("\n");}}2、完整形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=9;j++)printf("%d*%d=%2d",i,j,i*j);printf("\n");}}12、四阶矩阵转置:#include#definen14#definen24inta[n1][n2],b[n2][n1];main(){inta[n1][n2],b[n2][n1];inti,j;printf("请输入一个%d行%d列的矩阵:\n",n1,n2);for(i=0;ifor(j=0;jscanf("%d",*(a+i)+j);//使用元素a[i][j]的地址printf("转置后的矩阵为:\n");for(i=0;i{for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
{if(a[i]>a[j])//如果前面的数比后面的数大,进行交换
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
flag=1;//如果发生交换,标识变量设为1
}}
count++;//记录已经发生的排序次数
printf("after%dsorting:
",count);
PrintArray(a,n);//输出第count次的排序结果
if(flag==0)//没进行一次排序,flag都清0,若交换再发生,则排序完成
return;
}}}
main()//主函数
int*a,n=5,i=0;
a=(int*)malloc(n*sizeof(int));//为5个待排序的整型数开辟储存空间
for(i=0;iscanf("%d",&a[i]);//输入待排序数BubbleSort(a,n);//调用排序函数进行排序free(a);//排序结束,释放储存空间}九、求最大公约数和最小公倍数:原理:输入两个正整数m和n,求其最大公约数和最小公倍数.<1>用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0,则m<-n,n<-a,继续求余,否则n为最大公约数<2>最小公倍数=两个数的积/最大公约数方法1:利用辗转相除法#includeintgcd(inta,intb)//最大公约数{if(aelseif(b==0)returna;elsereturngcd(b,a%b);}intlcm(inta,intb){returna*b/gcd(a,b);}main(){inta,b;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&a,&b);printf("最大公约数:%d\n",gcd(a,b));printf("最小公倍数:%d\n",lcm(a,b));}方法2:#includemain(){intm,n;intm_cup,n_cup,res;printf("输入两个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d",&m,&n);if(m>0&&n>0){m_cup=m;n_cup=n;res=m_cup%n_cup;while(res!=0){m_cup=n_cup;n_cup=res;res=m_cup%n_cup;}printf("最大公约数:%d\n",n_cup);printf("最小公倍数:%d\n",m*n/n_cup);}elseprintf("Error!\n");}方法3:求三个数的最大公约数与最小公倍数#includegcd(inta,intb){if(b==0)returna;elsereturngcd(b,a%b);}main(){inta,b,c,g,l;printf("输入三个正整数,求其最大公约数和最小公倍数:\n");scanf("%d%d%d",&a,&b,&c);g=gcd(gcd(a,b),c);l=(a/g)*(b/g)*c;printf("最大公约数:%d\n最小公倍数:%d\n",g,l);}十、比较大小:1、比较两个数的大小:#includemain(){inta,b;printf("请输入两个数:\n");scanf("%d%d",&a,&b);if(a>b){printf("%d>%d\n",a,b);}else{printf("%d<%d\n",a,b);}}或者:#includemain(){intmax,a,b;printf("请输入两个整数:");scanf("%d%d",&a,&b);max=a>b?a:b;printf("最大值为%d\n",max);}或者:#includeintmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){intx,y,n;intmax(intx,inty);printf("求两树中的较大者:");printf("请输入两个整数:");scanf("%d%d",&x,&y);n=max(x,y);printf("最大值为%d\n",max);}2、比较三个数的大小:#includemain(){inta,b,c,max;printf("请输入三个数:\n");scanf("%d%d%d",&a,&b,&c);max=(c>((a>b)?a:b))?c:((a>b)?a:b);printf("最大数为%d\n",max);}十一、九九乘法表:1、下三角常见形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d\t",i,j,i*j);printf("\n");}}2、完整形式#includemain(){inti,j;printf("输出九九乘法表:\n\n");for(i=1;i<=9;i++){for(j=1;j<=9;j++)printf("%d*%d=%2d",i,j,i*j);printf("\n");}}12、四阶矩阵转置:#include#definen14#definen24inta[n1][n2],b[n2][n1];main(){inta[n1][n2],b[n2][n1];inti,j;printf("请输入一个%d行%d列的矩阵:\n",n1,n2);for(i=0;ifor(j=0;jscanf("%d",*(a+i)+j);//使用元素a[i][j]的地址printf("转置后的矩阵为:\n");for(i=0;i{for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
scanf("%d",&a[i]);//输入待排序数
BubbleSort(a,n);//调用排序函数进行排序
free(a);//排序结束,释放储存空间
九、求最大公约数和最小公倍数:
原理:
输入两个正整数m和n,求其最大公约数和最小公倍数.<1>用辗转相除法求最大公约数算法描述:
m对n求余为a,若a不等于0,则m<-n,n<-a,继续求余,否则n为最大公约数<2>最小公倍数=两个数的积/最大公约数
利用辗转相除法
intgcd(inta,intb)//最大公约数
if(a
elseif(b==0)returna;
elsereturngcd(b,a%b);
intlcm(inta,intb)
returna*b/gcd(a,b);
inta,b;
printf("输入两个正整数,求其最大公约数和最小公倍数:
scanf("%d%d",&a,&b);
printf("最大公约数:
%d\n",gcd(a,b));
printf("最小公倍数:
%d\n",lcm(a,b));
intm,n;intm_cup,n_cup,res;
scanf("%d%d",&m,&n);
if(m>0&&n>0)
m_cup=m;
n_cup=n;
res=m_cup%n_cup;
while(res!
m_cup=n_cup;
n_cup=res;
printf("最大公约数:
%d\n",n_cup);
printf("最小公倍数:
%d\n",m*n/n_cup);
elseprintf("Error!
求三个数的最大公约数与最小公倍数
gcd(inta,intb)
if(b==0)returna;
inta,b,c,g,l;
printf("输入三个正整数,求其最大公约数和最小公倍数:
scanf("%d%d%d",&a,&b,&c);
g=gcd(gcd(a,b),c);
l=(a/g)*(b/g)*c;
%d\n最小公倍数:
%d\n",g,l);
十、比较大小:
1、比较两个数的大小:
printf("请输入两个数:
if(a>b)
{printf("%d>%d\n",a,b);}
{printf("%d<%d\n",a,b);}
或者:
intmax,a,b;
printf("请输入两个整数:
max=a>b?
a:
b;
printf("最大值为%d\n",max);
intmax(intx,inty)
{intz;if(x>y)z=x;
elsez=y;return(z);}
{intx,y,n;
intmax(intx,inty);
printf("求两树中的较大者:
scanf("%d%d",&x,&y);
n=max(x,y);
2、比较三个数的大小:
inta,b,c,max;
printf("请输入三个数:
max=(c>((a>b)?
b))?
c:
((a>b)?
b);
printf("最大数为%d\n",max);
十一、九九乘法表:
1、下三角常见形式
inti,j;
printf("输出九九乘法表:
\n\n");
for(i=1;i<=9;i++)
for(j=1;j<=i;j++)
printf("%d*%d=%d\t",i,j,i*j);
2、完整形式
for(j=1;j<=9;j++)
printf("%d*%d=%2d",i,j,i*j);
12、四阶矩阵转置:
#definen14
#definen24
inta[n1][n2],b[n2][n1];
printf("请输入一个%d行%d列的矩阵:
\n",n1,n2);
for(i=0;ifor(j=0;jscanf("%d",*(a+i)+j);//使用元素a[i][j]的地址printf("转置后的矩阵为:\n");for(i=0;i{for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
for(j=0;jscanf("%d",*(a+i)+j);//使用元素a[i][j]的地址printf("转置后的矩阵为:\n");for(i=0;i{for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
scanf("%d",*(a+i)+j);//使用元素a[i][j]的地址
printf("转置后的矩阵为:
for(i=0;i{for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
for(j=0;j{*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]printf("%d",b[i][j]);}printf("\n");}}13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:#include#includemain(){charsen[100];unsignedinti;intspace,A,a,num,other;space=A=a=num=other=0;printf("输入字符串:\n");gets(sen);for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
*(*(b+i)+j)=*(*(a+j)+i);//b[i][j]=a[j][i]
printf("%d",b[i][j]);
13、统计输入字符串中大小写字母,数字,空格和其他字符的个数:
charsen[100];
unsignedinti;
intspace,A,a,num,other;
space=A=a=num=other=0;
printf("输入字符串:
gets(sen);
for(i=0;i{if(sen[i]>'A'&&sen[i]<'Z')A++;elseif(sen[i]>'a'&&sen[i]<'z')a++;elseif(sen[i]>='0'&&sen[i]<='9')num++;elseif(sen[i]=='')space++;elseother++;}printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);}14、斐波那契数列:1、一般方式:输出斐波那契数列#includemain(){longintf1,f2;inti;f1=1;f2=1;printf("输出斐波那契数列:\n");for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}printf("\n");}2、输出前n(n<11)项斐波那契数列#includemain(){inti,sum,n,f[11]={0,1,1};printf("请输入一个数n:");scanf("%d",&n);printf("前n项斐波那契数列为:\n");printf("%6d%6d",f[1],f[2]);sum=f[1]+f[2];for(i=3;i<=n;i++){f[i]=f[i-1]+f[i-2];printf("%6d",f[i]);sum+=f[i];
if(sen[i]>'A'&&sen[i]<'Z')
A++;
elseif(sen[i]>'a'&&sen[i]<'z')
a++;
elseif(sen[i]>='0'&&sen[i]<='9')
num++;
elseif(sen[i]=='')
space++;
other++;
printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);
14、斐波那契数列:
1、一般方式:
输出斐波那契数列
longintf1,f2;
inti;f1=1;f2=1;
printf("输出斐波那契数列:
for(i=1;i<=20;i++)
{printf("%12ld%12ld",f1,f2);
if(i%2==0)
f1=f1+f2;
f2=f2+f1;
}printf("\n");
2、输出前n(n<11)项斐波那契数列
inti,sum,n,f[11]={0,1,1};
printf("请输入一个数n:
printf("前n项斐波那契数列为:
printf("%6d%6d",f[1],f[2]);
sum=f[1]+f[2];
for(i=3;i<=n;i++)
f[i]=f[i-1]+f[i-2];
printf("%6d",f[i]);
sum+=f[i];
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1