您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言经典程序190例
【程序1】题目:809*??=800*??+9*??+1其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。1.程序分析:2.程序源代码:output(longb,longi){printf(\n%ld/%ld=809*%ld+%ld,b,i,i,b%i);}main(){longinta,b,i;a=809;for(i=10;i100;i++){b=i*a+1;if(b=1000&&b=10000&&8*i100&&9*i=100)output(b,i);}}==============================================================【程序2】题目:八进制转换为十进制1.程序分析:2.程序源代码:main(){char*p,s[6];intn;p=s;gets(p);n=0;while(*(p)!='\0'){n=n*8+*p-'0';p++;}printf(%d,n);}==============================================================【程序3】题目:求0—7所能组成的奇数个数。1.程序分析:2.程序源代码:main(){longsum=4,s=4;intj;for(j=2;j=8;j++)/*jisplaceofnumber*/{printf(\n%ld,sum);if(j=2)s*=7;elses*=8;sum+=s;}printf(\nsum=%ld,sum);}==============================================================【程序4】题目:一个偶数总能表示为两个素数之和。1.程序分析:2.程序源代码:#includestdio.h#includemath.hmain(){inta,b,c,d;scanf(%d,&a);for(b=3;b=a/2;b+=2){for(c=2;c=sqrt(b);c++)if(b%c==0)break;if(csqrt(b))d=a-b;elsebreak;for(c=2;c=sqrt(d);c++)if(d%c==0)break;if(csqrt(d))printf(%d=%d+%d\n,a,b,d);}}==============================================================【程序5】题目:判断一个素数能被几个9整除1.程序分析:2.程序源代码:main(){longintm9=9,sum=9;intzi,n1=1,c9=1;scanf(%d,&zi);while(n1!=0){if(!(sum%zi))n1=0;else{m9=m9*10;sum=sum+m9;c9++;}}printf(%ld,canbedividedby%d\9\,sum,c9);}==============================================================【程序6】题目:两个字符串连接程序1.程序分析:2.程序源代码:#includestdio.hmain(){chara[]=acegikm;charb[]=bdfhjlnpq;charc[80],*p;inti=0,j=0,k=0;while(a[i]!='\0'&&b[j]!='\0'){if(a[i]{c[k]=a[i];i++;}else[k]=b[j++];k++;}c[k]='\0';if(a[i]=='\0')p=b+j;elsep=a+i;strcat(c,p);puts(c);}==============================================================【程序7】题目:回答结果(结构体变量传递)1.程序分析:2.程序源代码:#includestdio.hstructstudent{intx;charc;}a;main(){a.x=3;a.c='a';f(a);printf(%d,%c,a.x,a.c);}f(structstudentb){b.x=20;b.c='y';}==============================================================【程序8】题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。1.程序分析:2.程序源代码:main(){inti,a,n=1;while(n=7){do{scanf(%d,&a);}while(a1||a50);for(i=1;i=a;i++)printf(*);printf(\n);n++;}getch();}==============================================================【程序9】题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。1.程序分析:2.程序源代码:main(){inta,i,aa[4],t;scanf(%d,&a);aa[0]=a%10;aa[1]=a%100/10;aa[2]=a%1000/100;aa[3]=a/1000;for(i=0;i=3;i++){aa[i]+=5;aa[i]%=10;}for(i=0;i=3/2;i++){t=aa[i];aa[i]=aa[3-i];aa[3-i]=t;}for(i=3;i=0;i--)printf(%d,aa[i]);}==============================================================【程序10】题目:专升本一题,读结果。1.程序分析:2.程序源代码:#includestdio.h#defineM5main(){inta[M]={1,2,3,4,5};inti,j,t;i=0;j=M-1;while(i{t=*(a+i);*(a+i)=*(a+j);*(a+j)=t;i++;j--;}for(i=0;iprintf(%d,*(a+i));}【程序11】题目:学习使用按位与&。1.程序分析:0&0=0;0&1=0;1&0=0;1&1=12.程序源代码:#includestdio.hmain(){inta,b;a=077;b=a&3;printf(\40:Thea&b(decimal)is%d\n,b);&=7;printf(\40:Thea&b(decimal)is%d\n,b);}==============================================================【程序12】题目:学习使用按位或|。1.程序分析:0|0=0;0|1=1;1|0=1;1|1=12.程序源代码:#includestdio.hmain(){inta,b;a=077;b=a|3;printf(\40:Thea&b(decimal)is%d\n,b);b|=7;printf(\40:Thea&b(decimal)is%d\n,b);}==============================================================【程序13】题目:学习使用按位异或^。1.程序分析:0^0=0;0^1=1;1^0=1;1^1=02.程序源代码:#includestdio.hmain(){inta,b;a=077;b=a^3;printf(\40:Thea&b(decimal)is%d\n,b);b^=7;printf(\40:Thea&b(decimal)is%d\n,b);}==============================================================【程序14】题目:取一个整数a从右端开始的4~7位。程序分析:可以这样考虑:(1)先使a右移4位。(2)设置一个低4位全为1,其余全为0的数。可用~(~04)(3)将上面二者进行&运算。2.程序源代码:main(){unsigneda,b,c,d;scanf(%o,&a);b=a4;c=~(~04);d=b&c;printf(%o\n%o\n,a,d);}==============================================================【程序15】题目:学习使用按位取反~。1.程序分析:~0=1;~1=0;2.程序源代码:#includestdio.hmain(){inta,b;a=234;b=~a;printf(\40:Thea's1complement(decimal)is%d\n,b);a=~a;printf(\40:Thea's1complement(hexidecimal)is%x\n,a);}==============================================================【程序16】题目:画图,学用circle画圆形。1.程序分析:2.程序源代码:/*circle*/#includegraphics.hmain(){intdriver,mode,i;floatj=1,k=1;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,);setbkcolor(YELLOW);for(i=0;i=25;i++){setcolor(8);circle(310,250,k);k=k+j;j=j+0.3;}}==============================================================【程序17】题目:画图,学用line画直线。1.程序分析:2.程序源代码:#includegraphics.hmain(){intdriver,mode,i;floatx0,y0,y1,x1;floatj=12,k;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,);setbkcolor(GREEN);x0=263;y0=263;y1=275;x1=275;for(i=0;i=18;i++){setcolor(5);line(x0,y0,x0,y1);x0=x0-5;y0=y0-5;x1=x1+5;y1=y1+5;j=j+10;}x0=263;y1=275;y0=263;for(i=0;i=20;i++){setcolor(5);line(x0,y0,x0,y1);x0=x0+5;y0=y0+5;y1=y1-5;}}==============================================================【程序18】题目:画图,学用rectangle画方形。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:#includegraphics.hmain(){intx0,y0,y1,x1,driver,mode,i;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,);setbkcolor(YELLOW);x0=263;y0=263;y1=275;x1=275;for(i=0;i=18;i++){setcolor(1);rectangle(x0,y0,x1,y1);x0=x0-5;y0=y0-5;x1=x1+5;y1=y1+5;}settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(150,4
本文标题:C语言经典程序190例
链接地址:https://www.777doc.com/doc-4502153 .html