C语言简单的23 个例子Word格式.docx
《C语言简单的23 个例子Word格式.docx》由会员分享,可在线阅读,更多相关《C语言简单的23 个例子Word格式.docx(21页珍藏版)》请在冰点文库上搜索。
![C语言简单的23 个例子Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/c8f7b640-5c0f-44bf-8254-61b736a19a87/c8f7b640-5c0f-44bf-8254-61b736a19a871.gif)
a:
c):
(b>
b:
c));
例2:
求一个数的绝对值
inta,absa;
printf(enteronenumber:
\n);
scanf(%d,&
a);
if(a<
0)
absa=-a;
else
absa=a;
printf(|%d|=%d\n,a,absa);
#includemath.h
inta;
printf(%d\n,abs(a));
例3:
两个数的四则运算
doublex,y;
charop;
牰湩晴尨输入运算式:
scanf(%lf%c%lf,&
x,&
op,&
y);
switch(op)
{
case'
+'
:
printf(%.2f%c%.2f=%.2f\n,x,op,y,x+y);
break;
-'
printf(%.2f%c%.2f=%.2f\n,x,op,y,x-y);
*'
printf(%.2f%c%.2f=%.2f\n,x,op,y,x*y);
/'
if(y==0)
printf(error!
printf(%.2f%c%.2f=%.2f\n,x,op,y,x/y);
default:
printf(expressioniserror!
}
不纳入计算-1结束输入,且-1个数的平均数,以N:
求4例
intn=0;
doublea,sum=0;
while
(1)
scanf(%lf,&
if(a==-1)break;
sum+=a;
n++;
printf(%.2f\n,sum/n);
例5:
打印出九九乘法口诀
inti,j;
for(i=1;
i<
10;
i++)
{for(j=i;
j<
j++)
printf(%dx%d=%-4d,i,j,i*j);
printf(\
);
例6:
大小写转换,以数字0结束输入
charch;
scanf(%c,&
ch);
if(ch=='
0'
)break;
if(ch>
='
A'
&
ch<
Z'
)
printf(%c\n,ch+32);
a'
z'
printf(%c\n,ch-32);
例7:
打印菱形图案
inti,j,k;
for(i=0;
for(j=0;
=9-i;
printf();
for(k=0;
k<
=2*i;
k++)
printf(%c,3);
=9;
=i+1;
=16-2*i;
例8:
求100以内所有的素数
#includemath.h
main()
intm,i,k,t=0,j=1,n=0;
printf(=:
j);
for(m=2;
m<
=300;
m=m+1)
k=(int)sqrt(m);
for(i=2;
=k;
if(m%i==0)
if(i>
=k+1)
printf(],m);
t++;
if(t%4==0)printf(\
=:
++j);
printf(\
例9:
输出Fibonacci数列的前20项及其和
(Fibonacci数列:
1,1,2,3,5,8,13,21·
·
inti,sum=0,f[20]={1,1};
20;
i=i+1)
f[i]=f[i-1]+f[i-2];
printf(m,f[i]);
sum=sum+f[i];
if((i+1)%4==0)printf(\
printf(sum=%d\n,sum);
例10:
输出各位数均不相同的三位数,及其个数
intn,i,j,k;
n=0;
for(k=1;
if(k!
=i)
if(j!
=i&
j!
=k)
printf(%d,100*i+10*j+k);
if(n_x0010_==0)printf(\
牰湩晴尨共%d个数\n,n);
例11:
输入一个数,求其阶乘
inti,s,n;
printf(
=);
i=1;
s=2;
while(i<
=n)
s=s*i;
i=i+1;
printf(%d!
=%d\n,n,s);
例12:
将一个数分解质因数#includestdio.h
inti,n;
printf(pleaseinputnumbers:
for(;
;
printf(%d=,n);
for(i=2;
=n;
while(n!
=1)
if(n%i==0)
{printf(%d*,i);
n=n/i;
elsebreak;
if(n==1)printf(\\n);
elseprintf(%d\n,n);
例13:
汉诺塔游戏
#include<
stdio.h>
voidmove(chara,charb)
staticinti=0;
printf(%c-->
%c%d\n,a,b,++i);
voidhanoi(intm,chara,charb,charc)
if(m==1)move(a,c);
hanoi(m-1,a,c,b);
move(a,c);
hanoi(m-1,b,a,c);
intm;
牰湩晴尨请输入方块数:
m);
hanoi(m,'
'
B'
C'
14例:
求一句话中单词的个数#include<
chars[100],c;
inti,temp=0,num=0;
gets(s);
for(i=0;
(c=s[i])!
\0'
if(c=='
'
)temp=0;
elseif(temp==0)
num=num+1;
temp=1;
printf(%d\n,num);
例15:
水仙花数(三位数,各位数字的三次方之和等于该数)
inti,j,z,n;
for(n=100;
n<
1000;
n++)
i=n/100;
j=n/10-10*i;
z=n_x0010_;
if(n==i*i*i+j*j*j+z*z*z)
printf(],n);
for(i=1;
for(j=0;
for(k=0;
if(i*i*i+j*j*j+k*k*k==100*i+10*j+k)
printf(M,100*i+10*j+k);
例16:
字符串b在字符串a中出现的次数,b中可以用“?
”代替未知字母
#defineN1000
inti,j,m,n,k,x=0;
chara[N],b[N];
gets(a);
gets(b);
for(i=0;
a[i]!
i++);
for(j=0;
b[j]!
j++);
m=i--;
n=j--;
=m-n+1;
k=0;
n;
if(b[j]=='
?
'
){k=1;
continue;
elseif(a[i+j]==b[j])k=1;
elsek=0;
if(k)x++;
printf(%d\n,x);
例:
冒泡排序17#includestdio.h
#defineN10
inti,j,t,max,a[N]={1,1,2,3,15,28,133,21,34,777};
intx;
牰湩晴尨初始数组元素为:
N;
printf(%d,a[i]);
for(i=0;
N-1;
for(j=0;
N-i-1;
if(a[j]>
a[j+1])
{t=a[j];
a[j]=a[j+1];
a[j+1]=t;
牰湩晴尨从小到大排序后的数组为:
printf(=,a[i]);
:
选择排序18例
inti,t,j,max,a[N]={1,1,2,3,15,28,133,21,34,777};
t=i;
for(j=i+1;
if(a[j]<
a[t])t=j;
if(t!
=i){x=a[t];
a[t]=a[i];
a[i]=x;
牰湩晴尨从小到大排序的数组为:
printf(%d,a[i]);
数组元素的插入19例#includestdio.h
inti,j,a[N]={1,1,2,3,15,28,133,21,34};
牰湩晴尨请输入要插入的下标位置(0-%d):
N-1);
i);
牰湩晴尨请输入要插入的数:
scanf(%d\n,x);
for(j=N-1;
j>
i;
j--)
a[j]=a[j-1];
a[i]=x;
牰湩晴尨插入元素之后的数组为:
printf(M,a[i]);
例20:
数组元素的删除
inti,j,a[N]={1,1,2,3,15,28,133,21,34,88};
牰湩晴尨请输入要删除的下标位置(0-%d),N-1);
scanf(%d,&
a[j-1]=a[j];
牰湩晴尨删除后的数组为:
数组中的最大值例21#includestdio.h
inti,max,a[N]={1,1,2,3,15,28,133,21,34,777};
max=a[0];
for(i=1;
if(a[i]>
=max)max=a[i];
牰湩晴尨数组的最大值是%d\n,max);
例22:
数组中最大值的下标
max=0;
=a[max])max=i;
牰湩晴尨数组的最大值的下标是%d\n,max);
查找数组中特定的元素例23#includestdio.h
inti,j,t,a[N]={1,1,2,3,15,28,133,21,34,88};
牰湩晴尨请输入要查找的元素:
x);
t=-1;
if(a[i]==x)t=i;
晩?
瀠楲瑮?
数组中没有该数!
汥敳瀠楲瑮?
该数位于数组的第%d个下标\n,t);