初学 C语言常用简单程序代码 素数的筛选 #include #include #define N 1000 int main(int argc, char* argv[]) { int i,j,num[N]; for(i=0;i 1 / 16 main() { int x,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 void main() { int a,b,c,t; scanf("%d%d%d",&a,&b,&c); printf("The original number:a=%d,b=%d,c=%d\n",a,b,c); t=a,a=b,b=t; t=a,a=c,c=t; printf("after swap:a=%d,b=%d,c=%d",a,b,c); } switch 语句的运用 #include main() { int a,m; printf("please input a number:"); scanf("%d",&a); switch(a/10) { case 10: case 9: m=5; break; 2 / 16 case 8: m=4; break; case 7:m=3; break; case 6:m=2; break; default:m=1; } printf("m=%d",m); } 判断奇数和偶数 #include main() { int x; printf("Please input a number: "); scanf("%d",&x); if(x%2==0) printf("this is a oushu!"); else printf("this is a jishu!"); } 小写改大写,若是大写则不变 include main() { char c1,c2; printf("Input a letter\n"); scanf("%c",&c1); c2=('a'<=c1&&c1<='z')?(c1-'a'+'A'):c1; printf("%c",c2); getchar(); return 0; 3 / 16 } 输入一个数,输出这个数是几位数 #include main() { int x,n; printf("please input a number:"); scanf("%d",&x); n=0; while(x!=0) { x=x/10; n++; } printf("%d",n); } 输入一个数,判断它是几位数,然后逆序输出 #include int main() { int num; int len = 0; int temp =0; printf("Please input a number:\n"); scanf("%d",&num); while((num % 10)!=0) { temp = temp*10+(num%10); len++; 4 / 16 num = num/10; } printf("length = %d\n",len); printf("Reverse is %d", temp); } 打印水仙花数 #include main() { int x, 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() { int k,flag,n=0; for(k=1980;k<=2880;k++) 5 / 16 { 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() { int sum,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() { float s,t; 6 / 16 int n,i,fz,fm; s=0; fz=2; fm=1; printf("Enter n:"); 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() { float average,total; int counter,score; total=0.0; counter=0; printf(" 输入成绩 ,-1 表示结束 :"); scanf("%d",&score); while(score!=-1) /* 用-1 表示输入的结束 , 同时循环 输入分数 */ { 7 / 16 total=total+score; counter++; printf(" 输入下一个成绩 ,-1 表示输入结束 :"); scanf("%d",&score); } if(counter!=0) { average=total/counter; printf(" 全班平均成绩为: %.2f\n",average); } else printf(" return 0; 没有输入成绩 \n"); } 求二元一次方程的根 #include #include main() { float a=4,b=-40,c=91; float x1,x2; float delta; delta=sqrt(b*b-4.0*a*c); x1=(-b+delta)/(2.0*a); x2=(-b-delta)/(2.0*a); printf("x1=%f x2=%f\n",x1,x2); 8 / 16 } if 语句的运用 #include main() { int a,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() { int y0,m0,d0,y1,m1,d1,age; 9 / 16 printf("\nplease input birthday (yyyy/mm/dd):"); scanf("%d/%d/%d ",&y0,&m0,&d0); printf("\nplease input current day(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 void sswap(int *x,int *y); main() { int a=10,b=20; printf("before swap:a=%d,b=%d\n",a,b); sswap(&a,&b); printf("after swap:a=%d,b=%d\n",a,b); } void sswap(int *x,int *y) { int t; t=*x; *x=*y; *y=t; } 通过函数调用输出两个实型数中最大的一个 #include float *f(float *px,float *py) 10 / 16 { if(*px>*py) return px; return py; } main() { float x=10.0,y=20.0,*a=&x,*b=&y; printf("*a=%f,*b=%f,max=%f\n",*a,*b,*f(a,b)); } 计算并输出一个数组中所有元素的和,最大值,最小值,值为奇数的 元素个数 编写一个函数,将一个字符串中的字符全部转成大写 #include void Lower2Upper(char *str) { char *p=str; while(*p!=0) { if(*p<='z'&&*p>='a') *p=*p-32; p++; } } main() { char s[10]="Hello!"; 11 / 16 int i; Lower2Upper(s); for(i=0;i<10;i++) printf("%c",s[i]); } 计算一个字符在一个字符串中出现的次数 #include int count(char ch,char *str) { char *p=str; int num=0; while(*p!='\0') if(*p++==ch) num++; return num; } main() { char ah='a'; char s[]="haowareayou"; printf("the number is:"); printf("%d\n",count('a',s)); } 删除一维数组中所有相同的数 #include 12 / 16 void unique(int *a,int *n) { int k=1; int i,m; m=a[0]; for(i=0;i<*n;i++) { if(a[i]>m) { a[k++]=a[i]; m=a[i]; } } *n=k; } main() { int a[10]; int n=10,i; printf("input a list number:"); for(i=0;i #include #define N 5 void sort(char *name[],int n); void prn(char *name[],int n); void main() { char *name[]={"China","America","Australia","France","German"}; sort(name,N); prn(name,N); } void sort(char *name[],int n) { char *pt; int i,j,k; for(i=0;i0) k=j; if(k!=i) { pt=name[i]; name[i]=name[k]; name[k]=pt; } } } 14 / 16 void prn(char *name[],int n) { int i; for(i=0;i #define N 5 #define M 4,int col); void prt(float *s,int no,int len); main() { float a[N][M]={{78,99,89,87},{67,59,87,77},{86,53,59,95},{77,88,5 7,95},{78,75,87,95}}; score(a,N,M); } void score(float (*p)[M],int row,int col) { int i,j; int passed; for(i=0;i