一些简单的c语言程序代码Word格式文档下载.docx
《一些简单的c语言程序代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《一些简单的c语言程序代码Word格式文档下载.docx(38页珍藏版)》请在冰豆网上搜索。
g=a;
if(k<
c)/*最小*/
{printf("
\n最小的数=%5.2f"
k);
{printf("
if(g>
c)/*最大*/
\n最大的数=%5.2f"
g);
}}
判断三角形的形状
请输入三角形三边"
floata,b,c,p,s,k1,k2,k3;
while(a+b<
c||b+c<
a||a+c<
b)
不能构成三角形,请重新输入"
k1=a*a;
k2=b*b;
k3=c*c;
if(a==b&
&
b==c&
c==a)
{printf("
此三角形为等边三角形"
elseif(a==b||b==c||c==a)
此三角形为等腰三角形"
elseif((k1==b*b+c*c)||(k2==a*a+c*c)||(k3=a*a+b*b))
此三角形为直角三角形"
此三角形为一般三角形"
九九乘法表
整体
inti,j;
for(i=1;
i<
10;
i++)
for(j=1;
j<
j++)
%5d"
i*j);
\n"
}}
右半边
=i;
{printf("
左半边
i++)/*最外层循环*/
for(j=1;
i;
j++)/*打空格*/
"
}
=10-i;
j++)/*计算*/
j*i);
}}
打印菱形
inti,j,k;
=5;
i++)
for(j=0;
5-i;
j++)
!
for(k=1;
k<
=2*i-1;
k++)
*"
for(i=4;
i>
=0;
i--)
for(j=4-i;
j>
0;
j--)
for(k=2*i;
k>
k--)
找回文
string.h>
charstr[80];
inti,j,iStrlenstr,iFlag;
请输入字符串\n"
gets(str);
iStrlenstr=strlen(str);
for(i=0,j=iStrlenstr-1;
=j;
i++,j--)
if(str[i]==str[j])
{iFlag=1;
{iFlag=0;
break;
if(iFlag==1)
输入的是回文!
输入的不是回文!
找名字
指针法
/*不用查找函数,用指针的方法*/
charstr[10][80],a[80],*p[10],*q=NULL;
inti,j,iFlag=0;
//intistrlenstr;
请输入名字\n"
for(i=0;
i<
gets(str[i]);
请输入想查找的名字\n"
gets(a);
for(i=0;
{p[i]=str[i];
q=a;
i++)
iFlag=0;
j=0;
while(*(p[i]+j)&
*(q+j))
if(*(p[i]+j)!
=*(q+j))
{break;
j++;
if(*(p[i]+j)=='
\0'
&
*(q+j)=='
)
{iFlag=1;
FOUND!
该名字的位置为%d"
i);
NOTFOUND!
"
/*利用指针给10个数排序*/
intmain(void)
inta[10],*p=NULL,iTem;
inti,j,iPos=0;
请输入10个数\n"
{scanf("
a[i]);
p=a;
for(i=0;
9;
iPos=i;
for(j=i+1;
j<
10;
if(a[j]<
a[iPos])
iPos=j;
iTem=*(a+i);
*(a+i)=*(a+iPos);
*(a+iPos)=iTem;
排序之后的为"
%4d"
*(a+i));
return0;
/*名字排序,从大到小*/
chara[10][10],cTemp[10];
inti,j,iMax;
输入十个学生姓名:
{gets(a[i]);
iMax=i;
for(j=i+1;
{
if(strcmp(a[iMax],a[j])<
0)
{iMax=j;
if(iMax!
=i)
strcpy(cTemp,a[i]);
strcpy(a[i],a[iMax]);
strcpy(a[iMax],cTemp);
按照字典降序排序为:
{puts(a[i]);
/*查找并删除某字符*/
intmain()
charstr[80],*p=NULL,*q;
chart;
请输入字符串:
请输入想要删除的字符:
t=getchar();
p=str;
q=str;
for(p=str;
*p!
='
;
p++)
if(*p!
=t)
{*q++=*p;
*q='
puts(str);
函数作业(全部)
/*交换器,引用全局变量*/
方法一
inta,b;
%d%d"
b);
fun();
a=%d,b=%d\n"
a,b);
voidfun(void)
intc;
c=a;
a=b;
b=c;
方法二
#defineswap(x,y){inttmp=x;
x=y;
y=tmp;
intx,y;
请输入两个数字\n"
x,&
y);
swap(x,y);
交换之后的数字是\n"
%d\t%d\t"
x,y);
/*用函数找最大公约数*/
intmaxd(int,int);
inta,b,d;
请输入两个整数\n"
d=maxd(a,b);
这两个数的最大公约数为:
intmaxd(inta,intb)
intm,n,k;
if(a<
b)
m=b;
n=a;
m=a;
n=b;
do
k=m%n;
m=n;
n=k;
}while(n!
=0);
return(m);
/*用函数统计*/
inticount(char*);
intm=0;
m=icount(str);
字符串中数字的个数有:
m);
inticount(char*p)
intk=0;
while(*p!
/0'
if(*p>
0'
*p<
9'
k++;
returnk;
/*排序函数*/
voidiSort(int[],int);
inta[10];
inti;
请输入10个整数\n"
iSort(a,10);
从小到大排序为\n"
a[i]);
voidiSort(intx[],intn)
inti,j,t,iPos;
n-1;
for(j=i+1;
n;
if(x[j]<
x[iPos])
iPos=j;
if(iPos!
t=x[i];
x[i]=x[iPos];
x[iPos]=t;
}}}
/*用函数找素数*/
intiPrime(int);
inti,k=0;
201;
i+=2)
k=iPrime(i);
if(k==1)
%d\n"
intiPrime(intx)
inta;
for(a=2;
a<
=x/2;
a++)
if(x%a==0)
return1;
/*八进制转十进制*/
intiChange(char*);
chars[10];
inti,k;
请输入一个八进制的数"
gets(s);
k=iChange(s);
对应的十进制的数位=%d"
intiChange(char*x)
char*p;
intn=0;
p=x;
for(;
*p!
{n=n*8+*p-'
/*用函数将矩阵转置
规定是方阵*/
voidchange(int[][4]);
inta[4][4],b[4][4]={0};
请输入一个四阶矩阵\n"
4;
4;
{scanf("
a[i][j]);
change(a);
转置过后的矩阵式\n"
%3d"
a[i][j]);
voidchange(intx[][4])
inti,j,t;
t=x[i][j];
x[i][j]=x[j][i];
x[j][i]=t;
/*判断是否是对称矩阵
以4*4的矩阵为例*/
intdui(int[][4]);
inta[4][4],i,j,k=0;
k=dui(a);
该矩阵为对称矩阵"
该矩阵不是对称阵"
intdui(intx[][4])
inti,j,t=0;
if(x[i][j]==x[j][i])
t=1;
returnt;
/*用函数求cos与sin*/
floaticos(float);
floatisin(float);
floata,cosx,sinx;
请输入x\n"
%f"
a);
cosx=icos(a);
sinx=isin(a);
cos(x)=%7.2f\n"
cosx);
sin(x)=%7.2f\n"
sinx);
floaticos(floata)
intn=2;
floatt,k,fcos;
k=0;
t*=(-1)*a*a/(n*(n-1));
k+=t;
n+=2;
while(fabs(t)>
=1e-6);
fcos=1+k;
returnfcos;
floatisin(floata)
floatfsin;
fsin=sqrt(1-(double)icos(a)*(double)icos(a));
returnfsin;
/*intn=3;
floatt,k,fsin;
t*=(-1)*a*a/(n*(n-1));
fsin=1+k;
*/
/*用函数分别统计26个字母的个数*/
voidjishu(charstr[]);
intiCount1[26]={0};
请输入字符串"
jishu(str);
26个大写字母的个数分别是\n"
26;
iCount1[i]);
voidjishu(charx[])
x[i]!
if(x[i]>
A'
x[i]<
Z'
{iCount1[x[i]-'
]++;
位运算
/*地位字节按位取反*/
unsignedintx;
请输入数据:
x);
x=x^0X00ff;
%x\n"
x);
/*循环移位
通过位或运算来实现循环的功能*/
inta,n;
请输入一个整数:
请输入移动的位数:
注意:
正数代表右移,负数代表左移"
n);
if(n>
a=((a>
>
n)|(a<
<
((8*sizeof(int))-n)));
//右移
if(n<
{a=((a<
(-n))|(a>
((8*sizeof(int))-(-n))));
//左移}
%u\n"
/*利用位异或运算加密*/
intstc,code,dst;
dst=0;
//加密后
code=1234;
//密码
请输入明文:
stc);
dst=stc^code;
\n加密之后的文件是:
dst);
/*偶数为清零*/
请输入"
a=a&
0x5555;
/*十六进制转二进制*/
inta,b[32],c=1,i;
%x"
32;
b[i]=(a&
c)>
c<
=1;
for(i=31;
i>
i--)
b[i]);
员工工资
#defineN1
structman