初学C语言常用简单程序代码学习资料.docx
《初学C语言常用简单程序代码学习资料.docx》由会员分享,可在线阅读,更多相关《初学C语言常用简单程序代码学习资料.docx(18页珍藏版)》请在冰豆网上搜索。
初学C语言常用简单程序代码学习资料
初学C语言常用简单程序代码
初学C语言常用简单程序代码
素数的筛选
#include
#include
#defineN1000
intmain(intargc,char*argv[])
{
inti,j,num[N];
for(i=0;inum[i]=i+1;
for(i=1;i<(int)sqrt((double)N);i++)
{
if(num[i])
{
for(j=i+1;j{
if(num[j])
if(num[j]%num[i]==0)
num[j]=0;
}
}
}
for(i=1;iif(num[i])
printf("%d",num[i]);
return0;
}
输出时分秒
#include
main()
{
intx,s,t,d;
scanf("%d",&x);
s=x%60;
t=(x/60)%60;
d=(x/60)/60;
printf("%d时%d分%d秒",d,t,s);
}
三个数的交换
#include
voidmain()
{
inta,b,c,t;
scanf("%d%d%d",&a,&b,&c);
printf("Theoriginalnumber:
a=%d,b=%d,c=%d\n",a,b,c);
t=a,a=b,b=t;
t=a,a=c,c=t;
printf("afterswap:
a=%d,b=%d,c=%d",a,b,c);
}
switch语句的运用
#include
main()
{
inta,m;
printf("pleaseinputanumber:
");
scanf("%d",&a);
switch(a/10)
{
case10:
case9:
m=5;break;
case8:
m=4;break;
case7:
m=3;break;
case6:
m=2;break;
default:
m=1;
}
printf("m=%d",m);
}
判断奇数和偶数
#include
main()
{
intx;
printf("Pleaseinputanumber:
");
scanf("%d",&x);
if(x%2==0)
printf("thisisaoushu!
");
else
printf("thisisajishu!
");
}
小写改大写,若是大写则不变
include
main()
{
charc1,c2;
printf("Inputaletter\n");
scanf("%c",&c1);
c2=('a'<=c1&&c1<='z')?
(c1-'a'+'A'):
c1;
printf("%c",c2);
getchar();
return0;
}
输入一个数,输出这个数是几位数
#include
main()
{
intx,n;
printf("pleaseinputanumber:
");
scanf("%d",&x);
n=0;
while(x!
=0)
{
x=x/10;
n++;
}
printf("%d",n);
}
输入一个数,判断它是几位数,然后逆序输出
#include
intmain()
{
intnum;
intlen=0;
inttemp=0;
printf("Pleaseinputanumber:
\n");
scanf("%d",&num);
while((num%10)!
=0)
{
temp=temp*10+(num%10);
len++;
num=num/10;
}
printf("length=%d\n",len);
printf("Reverseis%d",temp);
}
打印水仙花数
#include
main()
{
intx,a,b,c;
for(x=100;x<=999;x++)
{
a=x%10;
b=(x/10)%10;
c=x/100;
if(x==a*a*a+b*b*b+c*c*c)
{
printf("%5d",x);
}
}
printf("\n");
}
判断闰年
#include"stdio.h"
main()
{
intk,flag,n=0;
for(k=1980;k<=2880;k++)
{
flag=(k%4==0)&&(k%100!
=0)||(k%400==0);
if(flag)
{printf("%5d",k);
n++;
if(n%10==0)
printf("\n");
}
}
printf("\n");
}
求1-3+5-7...-99+101的值
#include
main()
{
intsum,i,t;
sum=1;
t=1;
for(i=3;i<=101;i=i+2)
{
t=-t;
sum=sum+t*i;
}
printf("sum=%d",sum);
}
求前n项和
#include
main()
{
floats,t;
intn,i,fz,fm;
s=0;
fz=2;
fm=1;
printf("Entern:
");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t=(1.0*fz)/fm;
s=s+t;
fz=fz+fm;
fm=fz-fm;
}
printf("s=%f\n",s);
}
开发一个程序求全班学生某门课的平均成绩,要求程序每次运行时班级人数可为任意
/*用标记值来指示数据输入的结束*/
#include
main()
{
floataverage,total;
intcounter,score;
total=0.0;
counter=0;
printf("输入成绩,-1表示结束:
");
scanf("%d",&score);
while(score!
=-1)/*用-1表示输入的结束,同时循环输入分数*/
{
total=total+score;
counter++;
printf("输入下一个成绩,-1表示输入结束:
");
scanf("%d",&score);
}
if(counter!
=0)
{
average=total/counter;
printf("全班平均成绩为:
%.2f\n",average);
}
else
printf("没有输入成绩\n");
return0;
}
求二元一次方程的根
#include
#include
main()
{
floata=4,b=-40,c=91;
floatx1,x2;
floatdelta;
delta=sqrt(b*b-4.0*a*c);
x1=(-b+delta)/(2.0*a);
x2=(-b-delta)/(2.0*a);
printf("x1=%fx2=%f\n",x1,x2);
}
if语句的运用
#include
main()
{
inta,b,c,s,w,t;
s=w=t=0;
a=-1;
b=c=3;
if(c>0)
s=a+b;
if(a<=0)
{
if(b>0)
if(c<=0)
w=a-b;
}
else
if(c>0)
w=a-b;
else
t=c;
printf("s=%d,w=%d,t=%d",s,w,t);
}
输入学生的生日,输出他的实足年龄
#include
main()
{
inty0,m0,d0,y1,m1,d1,age;
printf("\npleaseinputbirthday(yyyy/mm/dd):
");
scanf("%d/%d/%d",&y0,&m0,&d0);
printf("\npleaseinputcurrentday(yyyy/mm/dd):
");
scanf("%d/%d/%d",&y1,&m1,&d1);
if((m1>m0)||(m1=m0&&d1>=d0))
age=y1-y0;
else
age=y1-y0-1;
printf("age=%d\n",age);
}
指针变量作为函数参数,实现两数的交换
#include
voidsswap(int*x,int*y);
main()
{
inta=10,b=20;
printf("beforeswap:
a=%d,b=%d\n",a,b);
sswap(&a,&b);
printf("afterswap:
a=%d,b=%d\n",a,b);
}
voidsswap(int*x,int*y)
{
intt;
t=*x;
*x=*y;
*y=t;
}
通过函数调用输出两个实型数中最大的一个
#include
float*f(float*px,float*py)
{
if(*px>*py)
returnpx;
returnpy;
}
main()
{
floatx=10.0,y=20.0,*a=&x,*b=&y;
printf("*a=%f,*b=%f,max=%f\n",*a,*b,*f(a,b));
}
计算并输出一个数组中所有元素的和,最大值,最小值,值为奇数的元素个数
编写一个函数,将一个字符串中的字符全部转成大写
#include
voidLower2Upper(char*str)
{
char*p=str;
while(*p!
=0)
{
if(*p<='z'&&*p>='a')
*p=*p-32;
p++;
}
}
main()
{
chars[10]="Hello!
";
inti;
Lower2Upper(s);
for(i=0;i<10;i++)
printf("%c",s[i]);
}
计算一个字符在一个字符串中出现的次数
#include
intcount(charch,char*str)
{
char*p=str;
intnum=0;
while(*p!
='\0')
if(*p++==ch)
num++;
returnnum;
}
main()
{
charah='a';
chars[]="haowareayou";
printf("thenumberis:
");
printf("%d\n",count('a',s));
}
删除一维数组中所有相同的数
#include
voidunique(int*a,int*n)
{
intk=1;
inti,m;
m=a[0];
for(i=0;i<*n;i++)
{
if(a[i]>m)
{
a[k++]=a[i];
m=a[i];
}
}
*n=k;
}
main()
{
inta[10];
intn=10,i;
printf("inputalistnumber:
");
for(i=0;iscanf("%d",&a[i]);
printf("Beforedelete:
...\n");
for(i=0;iprintf("%d",a[i]);
unique(a,&n);
printf("afterdelete....\n");
for(i=0;iprintf("%d",a[i]);
printf("\n");
}
将字符串按字典顺序输出
#include
#include
#defineN5
voidsort(char*name[],intn);
voidprn(char*name[],intn);
voidmain()
{
char*name[]={"China","America","Australia","France","German"};
sort(name,N);
prn(name,N);
}
voidsort(char*name[],intn)
{
char*pt;
inti,j,k;
for(i=0;i{
k=i;
for(j=i+1;jif(strcmp(name[k],name[j])>0)
k=j;
if(k!
=i)
{
pt=name[i];
name[i]=name[k];
name[k]=pt;
}
}
}
voidprn(char*name[],intn)
{
inti;
for(i=0;iprintf("%s\n",name[i]);
}
有n个学生,每个学生考m门课程,要求编一程序,能检查n个学生有无不及格的课程,如果有某一学生有一门或一门以上课程不及格,就输出该学生的号码和其全部成绩
#include
#defineN5
#defineM4,intcol);
voidprt(float*s,intno,intlen);
main()
{
floata[N][M]={{78,99,89,87},{67,59,87,77},{86,53,59,95},{77,88,57,95},{78,75,87,95}};
score(a,N,M);
}
voidscore(float(*p)[M],introw,intcol)
{
inti,j;
intpassed;
for(i=0;i{
passed=1;
for(j=0;j
if(p[i][j]<60.0)
passed=0;
if(!
passed)
prt(p[i],i,col);
}
}
voidprt(float*s,intno,intlen)
{
float*p;
printf("NO.%d",no);
for(p=s;p
printf("%5.1f",*p);
printf("\n");
}
|