c语言Word文档下载推荐.docx
《c语言Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言Word文档下载推荐.docx(23页珍藏版)》请在冰点文库上搜索。
=x&
y>
u=y;
else
u=z;
return(u);
4.用起泡法对十个数据排序(数组实现)
main()
{inti,j,t;
staticinta[10]={5,7,4,2,3,6,1,0,9,8};
for(j=0;
j<
9;
j++)
{for(i=0;
9-j;
i++)
{if(a[i]>
a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;
10;
%2d"
a[i]);
5、输入十个数字,逆序输出。
(数组实现)
main()
{inta[10],i=0;
=9;
%f"
a[i]);
\n"
);
for(i=9;
i>
=0;
i--)
6输入两个数,交换他们的值并输出。
(元素交换)
intmain()
{
intm,n,temp;
scanf("
%d%d"
m,&
n);
if(m<
n)
{
temp=m;
m=n;
n=temp;
m);
return0;
7.输出9*9乘法表。
(双层循环)
#include<
voidmain()
inti=1;
for(i;
i<
i++)
intj=1;
for(j;
=i;
%d*%d=%d"
i,j,i*j);
8.输入一行字符,将所有的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。
输出转变后的这行字符。
#include"
stdio.h"
chara[n];
inti;
%s"
a);
大写为:
"
for(i=0;
=n;
if(a[i]<
='
z'
a[i]>
a'
)
a[i]=a[i]-32;
%c"
\n小写为:
=3;
a[i]=a[i]+32;
9、编写一个简单计算器程序,要求能够完成两个数的+,-,*,/四种运算。
输出运算式及运算结果。
(switch)
6.2
#include"
{charc;
inti=0,j=0,k=0,l=0;
while((c=getchar())!
=’\n’)
{if(c>
=65&
c<
=90||c>
=97&
=122)i++;
elseif(c>
=48&
=57)j++;
elseif(c==32)k++;
elsel++;
i=%d,j=%d,k=%d,l=%d\n"
i,j,k,l);
6.6
math.h"
{intx=100,a,b,c;
while(x>
=100&
x<
1000){a=0.01*x;
b=10*(0.01*x-a);
c=x-100*a-10*b;
if(x==(pow(a,3)+pow(b,3)+pow(c,3)))printf("
%5d"
x);
x++;
6.7
{intm,i,j,s;
for(m=6;
m<
10000;
m++)
{s=1;
for(i=2;
m;
if(m%i==0)s=s+i;
if(m-s==0)
{printf("
%5ditsfastorsare1"
for(j=2;
j++)if(m%j==0)
%d"
或
1000;
{s=m-1;
if(m%i==0)s=s-i;
if(s==0)
6.8
{inti=1,n;
doublet,x=1,y=2,s,sum=0;
%ld"
while(i<
=n){s=y/x;
sum=sum+s;
t=y;
y=y+x;
x=t;
i++;
%f\n"
11,P128例6.10(译码)
charc;
\n'
c=c+4;
if(c>
'
Z'
+4||c>
c=c-26;
c);
12,P1115.55.6(switch)
5.5
{intx,y;
输入x:
x);
if(x<
1)
{y=x;
x=%3d,y=x=%d\n"
x,y);
elseif(x<
10)
{y=2*x-1;
x=%3d,y=2*x-1=%d\n"
{y=3*x-11;
x=%3d,y=3*x-11=%d\n"
5.6
{floatscore;
chargrade;
case2:
请输入学生成绩:
score);
while(score>
100||(score<
0)
{printf("
\n输入有误,请重新输入:
switch((int)(score/10))
{case10:
case9:
grade=’A’;
break;
case8:
grade=’B’;
case7:
grade=’C’;
case6:
grade=’D’;
case5:
case4:
case3:
case1:
case0:
grade=’E’;
成绩是%5.1f,相应的等级是%c。
score,grade);
13,P108例5.5(一元二次方程求根)例5.6(求闰年)
intyear,leap;
year);
if(year%4==0)
if(year%100==0)
if(year%400==0)
leap=1;
else
leap=0;
if(leap)
%dis"
year);
%disnot"
aleapyear.\n"
14,P31例2.17例2.18
2.17
输出50个学生中成绩高于80分者的学号和成绩
2.18
输出2000——2500年每一年是否闰年
voidmain()
{
intyear;
year=2000;
go:
if(((year%4==0)&
(year%100!
=0))||(year%400==0))
%disrunnian"
if(year<
=2500)
year=year++;
if(year>
2500)
gotoend;
gotogo;
end:
getch();
输入100--=400之间的所有素数,10个为一行输出;
math.h>
intn,i,count=0;
for(n=100;
n<
=400;
n++)
for(i=2;
=sqrt(n);
if(n%i==0)
{break;
if(i>
sqrt(n))
{printf("
n);
count++;
if(count%10==0)
printf("
输出100内能被9整除的数,5个一行输出;
intn,count=0;
for(n=9;
{if(n%9!
=0)
continue;
%4d"
count++;
if(count%5==0)
估算根号下2的值(逼近)
doublea=1.0;
doubled=0.1;
while(d>
0.000001)
while((a+d)*(a+d)<
=2)
{a=a+d;
a=%f\n"
d=d/10;
{inta[10]={1,2,3,4,5,6,7,8,9};
intb[10],c[10];
inti;
input10numbers:
b[i]);
i++);
c[i]=a[i]+b[i];
shuzua:
\nshuzub:
b[i]);
\nshuzuc:
c[i]);
int*p[3];
inta0[3]={1,2,3},a1[3]={4,5,6},a2[3]={7,8,9};
inti,j;
p[0]=a0;
p[1]=a1;
p[2]=a2;
3;
for(j=0;
j++){
printf("
a%d[%d]=%d"
i,j,*(p[i]));
p[i]++;
printf("
用数组求一组数的和:
#defineN10
intn[N]={12,34,55,71,1,65,423,19,540,10};
shuchushuzu:
N-1;
n[i]);
sum+=n[i];
thesummaryis:
%d"
输入
一组数由大到小排列:
{inta[10],i,k,j,t,max;
input10numbers:
0;
i=k)
for(j=0,k=0;
i;
if(a[j]<
a[j+1])
{t=a[j];
a[j]=a[j+1];
a[j+1]=t;
k=j;
theresultofsortednumbers:
\n"
intn,i;
inputanumberplease:
if(n%i==0)
{break;
if(i>
YES!
求最大公约数和最小公倍数
longintm,n,num1,num2,r;
inputthenum1andnum2:
%ld%ld"
num1,&
num2);
if(num1<
num2)
r=num1;
num1=num2;
num2=r;
m=num1;
n=num2;
while(n!
{r=m%n;
m=n;
n=r;
}printf("
thegcdis:
%ld\n"
thelcmis:
num1*num2/m);
voidmain()/*迭代法*/
{inti,f1,f2,f3,n;
inputthen:
f1=f2=1;
f1,f2);
for(i=3;
{f3=f1+f2;
f3);
f1=f2;
f2=f3;
{intf1,f2,f3,n;
f1=1;
f2=2;
%3d\t%3d\t"
%3d"
字符图形
{charch='
A'
;
5;
i++)/*控制行数*/
{for(j=0;
5-i;
j++)/*输出每行的前导空格*/
"
j++)/*输出指定个数的指定字符*/
ch+i-j);
/*换行*/
}结果为:
A
BA
CBA
DCBA
EDCBA
{inti,j,row,colum,max;
inta[3][4]={1,2,3,4,9,8,7,6,-10,10,-5,2};
max=a[0][0];
for(i=0;
=2;
i++)
for(j=0;
j<
j++)
if(a[i][j]>
max)
{max=a[i][j];
row=i;
colum=j;
}
printf("
max=%d,row=%d,colum=%d\n"
max,row,colum);
{voidswap(int*x,int*y);
inta=3,b=5;
swap函数调用前:
a=%d,b=%d\n"
a,b);
swap(&
b);
swap函数调用后:
voidswap(int*x,int*y)
{intt;
t=*x;
*x=*y;
*y=t;
intfind_char(char*str,intch)
{intk,num=0;
for(k=0;
str[k]!
\0'
k++)
if(str[k]==ch)
num++;
returnnum;
voidmain()
{chars[100];
intnum,c;
\nInputaString:
gets(s);
\nInputacharacter:
c=getchar();
num=find_char(s,c);
\nnum=%d"
num);
字符的颠倒拆分
/*Name:
ex02-16.cpp*/
{intn,r;
Inputthen:
do
{r=n%10;
r);
}while((n/=10)!
=0);
{inta[]={1,3,5,2,7};
intb[]={5,3,9,4,6};
intc[5],i;
c[i]=a[i]*b[i],c[i]/2);