C语言程序设计典型编程必背1.计算机1-3+5-7+。
-99+101的值#include<stdio.h>main ( ){int i,t=1,s;s=0;for(i=1;i<=101;i+=2){ t=t*i; s=s+t;t=t>0?-1:1; }printf(“%d\n”,s);}2.输入一个十进制数,将他对应的二进制数的各位反序,形成新的十进制数输出。
11—1011—1101—13#include<stdio.h>main ( ){int n,x,t;printf(“shuruzhengshu:”);scanf(“%d”,&n);x=0;while(n!=0){ t=n%2; x=x*2+t;n=n/2; }printf(“xindezhengshu:%d\n,x”);}3.给出年月日,计算出该日是该年的第几天。
#include<stdio.h>main ( ){int year,month,day,days,i,d;printf(“shuru nian,yue,ri:”);scanf(“%d,%d,%d”,&year,&month,&day);days=0;for(i=1;i<month;i++){switch(i){case 1:case 3:case 5:case 7:case 8:case 10:case 12:d=31;break;case 4:case 6:case 9:case 11:d=30;break;case 2:if(year%4==0&&year%100!=0||year%400==0) d=29;else d=28;}days+=d;}printf(“%d nian %d yue %d ri shigainiande %d tian。
\n”,year,month,day,days+day);}4.求100——200间的素数。
按每行10个数打印输出。
要求在奇数中找素数。
#include<stdio.h>main ( ){int m,k,i,n=0;for(m=101;m<=200;m=m+2){k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0) break;if(i>k+1) { printf(“%d”,m);n=n+1; }if(n%10==0) printf(“\n”);}printf(“\n”);}5.下面的程序功能是求1!+3!+5!+。
+n!的和。
#include<stdio.h>main ( ){long int f,s;int i,j,n;s=0;scanf(“%d”,&n);for(i=1;i<=n;i=i+2){f=1;for(j=1;j<=i;j++){f=f*j;}s=s+f;}printf(“n=%d,s=%ld\n”,n,s);}7.下面程序功能为求100—999之间的水仙花数,水仙花数是指一个三位数的各位数字的立方和是这个数本身。
例如153=1*1*1+5*5*5+3*3*3。
方法一:int fun(int n){int i,j,k,m;m=n;k=0;for(i=1;i<4;i++){j=m%10;m=(m-j)/10;k=k+j*j*j;}if(k==n) return(1);else return(0);}方法二:int fun(int n){ int i,j,k,m;m=n;k=0;for(i=1;i<4;i++){j=m%10;m=(m-j)/10;k=k+j*j*j;}if(k==n)return(1);elsereturn(0);}main(){int i;for(i=100;i<1000;i++)if(fun(i)==1)printf("%d is ok!\n" ,i);}9. 格式化输入输出例题。
#include<stdio.h>main(){ int a=5,b=10;float x=3.5,y=10.8;char c1='A',c2='B';printf("a=%d,b=%d,x+y=%4.1f\n",a,b,x+y);printf("x-y=%4.1f,a-b=%d\n",x-y,a-b);printf("c1='%c'or%d(ASCII),c2='%c'or%d(ASCII)",c1,c1,c2,c2); }输出结果为:a=5,b=10,x+y=4.3x-y=-7.3,a-b=-5c1=’A’ or 65 (ASCII) c2=’B’ or 66 (ASCII) 10.编写程序,从键盘上输入一个三位正整数,求出它的个位、十位、百位数字并显示。
#include<stdio.h>main ( ){int a,b,c,d;scanf(“%d”,&x);a=x%10;b=x/10%10;c=x/100;printf(“%d,%d,%d”,a,b,c);}11.从键盘上输入三个数,输出其中最小值。
(输出其中最大值)#include<stdio.h>main ( ){ float a,b,c,min;min=a;if(b<min) min=b;if(c<min) min=c;printf(“min=%f”,min); }12.输入三个数,按从小到大的顺序输出。
(按从大到小的顺序输出) #include<stdio.h>main ( ){ int a,b,c,temp;scanf(“%d%d%d”,&a,&b,&c);if(a>b) {temp=a;a=b;b=temp;}if(a>c) {temp=a;a=c;c=temp;}if(b>c) {temp=b;b=c;c=temp;}printf(“%d,%d,%d\n”,a,b,c); }13.有分段函数y=x+6 (x<0) 1 (x=0) 3x-6 (x>0)main ( ){float x,y;scanf(“%f”,&x);if(x<0) y=x+6;else if(x>0) y=3*x-6;else y=1;printf(“y=%.2f\n”,y);}14.打印九九乘法表。
main ( ){int i,j;for(i=1;i<=9;i++) printf(“%4d”,i);printf(“\n”);for(i=1;i<=36;i++) printf(“%c”,’-’);printf(“\n”);for(i=1;i<=9;i++){printf(“%d”,j);for(j=1;j<=9;j++)printf(“%ld”,i*j);printf(“\n”);}}15.循环地从键盘上输入字符,分别统计其中数字字符及英文字母的个数(用字符#作为结束输入的标志)。
#include<stdio.h>main ( ){char ch;int dnum=0,anum=0;while(1){printf(“input character:\n”);scanf(“%c”,&ch);if(ch==’#’) break;if(ch>=’0’&&ch<=’9’) dnum++;else if(ch>=’a’&& ch<=’z’|| ch>=’A’&& ch<=’Z’) anum++;else continue;}printf(“shuzi %d ge, zhimu %d ge \n”,dnum,anum);}16.输出100—200之间不能被3整除的数。
#include<stdio.h>main ( ){int n;for(n=100;n<=200;n++){if(n%3==0) continue;printf(“%4d”,n);}}17.求下列表达式s=1+3+5+…+99的值。
#include<stdio.h>main ( ){int i,s=0;for(i=1;i<=100;i+=2)s+=i;printf(“%d”,s);}18.输出300—500之间的第一个能被9整除的数。
#include<stdio.h>main ( ){int n;for(n=300;n<=500;n++)if(n%9==0) break;printf(“%4d”,n);}19.输入一个正整数n(n<8000),求表达式1+5+9+13+17+…+(1+4n)的值。
#include<stdio.h>main ( ){int k,p,n;long sum=1;scanf(“%d”,&n);for(k=1;k<=n;k++){p=1+4*k;sum+=p;}printf(“%ld”,sum);}20.编程计算n!的值。
#include<stdio.h>main ( ){int i,s,n;s=1;printf(“enter n:”);scanf(“%d”,&n);for(i=1;i<=n;i++)s=s*i;printf(“s=%d”,s);}21.求1!+2!+3!+…+n!的值(n的值由键盘输入)。
#include<stdio.h>main( ){int i,n; mainlong s,sum;s=1;sum=0;printf(“enter n:”);scanf(“%d”,&n);for(i=1;i<=n;i++){s=s*i; sum+=s;}printf(“s=%ld”,sum);}22.编程实现分别计算机1—100之间的奇数之和与偶数之和。
#include<stdio.h>main( ){int a,b,c,i;a=c=0;for(i=0;i<=100;i++){if(i%2) c=c+i; else a+=i;}printf(“oushuzhihe=%d\n”,a);printf(“jishuzhihe=%d\n”,c);}23.编程从键盘输入一个整数,判断是否是素数,若为素数输出1,否则输出0。