40条C语言编程.docx
- 文档编号:12488482
- 上传时间:2023-04-19
- 格式:DOCX
- 页数:45
- 大小:27.21KB
40条C语言编程.docx
《40条C语言编程.docx》由会员分享,可在线阅读,更多相关《40条C语言编程.docx(45页珍藏版)》请在冰豆网上搜索。
40条C语言编程
C语言编程
1、字符数组C1和C2赋值为‘A’到Z,字符数组c2赋值为‘a’到z后,输入字符数组C1、C2
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
voidmain()
{
charc1[26],c2[26];
inti;
for(i=0;i<26;i++)
{
c1[i]='A'+i;
c2[i]='a'+i;
}
for(i=0;i<26;i++)
printf("%c",c1[i]);
printf("\n");
for(i=0;i<26;i++)
printf("%c",c2[i]);
printf("\n");
}
2、从键盘上输入一个字符串,按求统计并输出字符串中的各个数字、大写字母、小写字母、空格和其它字符出现的次数
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
voidmain()
{
charstr[100];
inti,Num=0,Space=0,Capital=0,Lowercase=0,Other=0;
gets(str);
for(i=0;str[i]!
='\0';i++)
if(str[i]>='0'&&str[i]<='9')Num++;
elseif(str[i]=='')Space++;
elseif(str[i]>='A'&&str[i]<='Z')Capital++;
elseif(str[i]>='a'&&str[i]<='z')Lowercase++;
elseOther++;
printf("数据字符数量:
%2d\t大写字符数量%2d\t小写字符数量:
%2d\n",Num,Capital,Lowercase);
printf("空格字符数量:
%2d\t其它字符数量:
%2d\n",Space,Other);
}
3、十进制转二进制
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
voidmain()
{
inti;
printf("请输入一个十进制的数:
");
scanf("%d",&i);
printf("%x",i);
}
4、十进制转二进制
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
voidmain()
{
inti,j,n,m;
inta[16]=
{
0
};
system("cls");
printf("请输入0到32767的数字");
scanf("%d",&n);
for(m=0;m<15;m++)
{
i=n%2;
j=n/2;
n=j;
a[m]=i;
}
for(m=15;m>=0;m--)
{
printf("%d",a[m]);
if(m%4==0)
printf("");
}
}
5、n进制转为十进制
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
voidmain()
{
longt1;
inti,n,t,t3;
chara[100];
printf("pleaseinputanumbersting:
\n");
gets(a);
strupr(a);
t3=strlen(a);
t1=0;
printf("pleaseinputn(20or80or16):
\n");
scanf("%d",&n);
for(i=0;i { if(a[i]-'0'>=n&&a[i]<'A'||a[i]-'A'+10>=n) { printf("dataerror"); exit(0); } if(a[i]>='0'&&a[i]<'9') t=a[i]-'A'+10; t1=t1*n+t; } printf("thedecimalis&ld\n",t1); } 6、以ip地址形式输出 #include intbin_dec(intx,intn) { if(n==0) { return1; } returnx*bin_dec(x,n-1); } voidmain() { inti; intip[4]={0}; chara[33]; printf("pleaseinputbinarynumber"); scanf("%s",a); for(i=0;i<8;i++) { if(a[i]=='1') { ip[0]+=bin_dec(2,7-i); } } for(i=8;i<16;i++) { if(a[i]=='1') { ip[2]+=bin_dec(2,15-i); } } for(i=16;i<24;i++) { if(a[i]=='1') { ip[2]+=bin_dec(2,31-i); } } for(i=24;i<32;i++) { if(a[i]=='1') { ip[3]+=bin_dec(2,31-i); } if(a[i]=='\0') { break; } } printf("ip: \n"); printf("%d%d%d%d\n",ip[0],ip[1],ip[2],ip[3]); } 7、3个数由小到大排列 #include voidmain() { inta,b,c,t; system("cls"); printf("pleaseinputa,b,c: \n"); scanf("%d%d%d",&a,&b,&c); if(a>b) { t=a; a=b; t=b; } if(a>c) { t=a; a=c; c=t; } if(b>c) { t=b; b=c; c=t; } printf("theorderofthenumberis: \n"); printf("%d%d%d",a,b,c); } 8编程要求输入整数a和b,若 的结果大于100,则是输出 的值,否则输出a+b的结果 #include voidmain() { inta,b,x,y; printf("pleaseinputaandb: \n"); scanf("%d%d",&a,&b); x=a*a+b*b; if(x>100) { printf("a^2+b^2="); printf("%d",x); } else printf("a+b=%d",a+b); } 9、编程判断输入的数是5又是7的整倍数,如果是输出yes否则输出no #include voidmain() { intx; printf("pleaseinputanumber: \n"); scanf("%d",&x); if(x%5==0&&x%7==0) printf("yes"); else printf("no"); } 10、判断闰年 #include voidmain() { intyear; printf("pleaseinputtheyear: \n"); scanf("%d",&year); if(year%4==0&&year%100! =0||year%400==0) printf("%disaleapyear",year); else printf("%disnotaleapyear",year); } 11、阶层问题 在你面前有一条长长的阶梯,如果你每层跨2阶,那么最后还有1阶,;如果你每步跨3阶,那么还有2阶;如果你每步跨5阶,那么还有4阶;如果你每步跨7阶时,最后才刚好走完,一阶也没有,请问阶梯至少有多少层? (求所有三位阶梯数) #include"stdio.h" voidmain() { inti; for(i=100;i<1000;i++) if(i%2==1&&i%3==2&&i%5==4&&i%6==5&&i%7==0) printf("thenumberofthestairsis%d\n",i); } 12、编程对输入的百分制分数给出相应的等级,分数大于90为‘‘A’’80到89为‘‘B’’,70到79为‘‘C’’,60到69为‘‘D’’,60分以下为‘‘E’’ #include"stdio.h" voidmain() { intscore; printf("\npleaseinterscore(score<=100): "); scanf("%d",&score); if(score==100) score=90; score=score/10; switch(score) { case9: printf("thegradeisA"); break; case8: printf("thegradeisB"); break; case7: printf("thegradeisC"); break; case6: printf("thegradeisD"); break; default: printf("thegradeisE"); } } 13、整数加减法练习 练习者自己选择是进行加法运算,之后输入进行多少以内的加法以内的加法或减法运算,具体数值会由计算机随机产生,输入答案,计算机会根据输入的数据判断结果是否正确 #include"stdio.h" #include #include voidmain() { inta,b,c,sign,max; charsign1; printf("pleaseselectsign(1orother,1: -,other: +)\n"); scanf("%d",&sign); printf("pleaseselecttthemaxnumber(<10000): \n"); scanf("%d",&max); srand((unsignedlong)time(0)); a=rand()%max; b=rand()%max; while((a { a=rand()%max; b=rand()%max; } sign1=(sign==1? '-': '+'); printf("\n%d%c%d=",a,sign1,b); scanf("%d",&c); if((sign==1)&&(a-b==c)||(sign! =1)&&(a+b==c)) printf("ok\n"); else printf("theresultiswrong! \n"); getch(); } 14、模拟ATM机界面程序 模拟银行ATM机操作界面,主要实现取款功能,在取款操作前用户先输入金额和密码,密码正确就可以操作,取款时显示取款金额和余额 #include"stdio.h" main() { charKey,CMoney; intpassword,password1=123,i=1,a=1000; while (1) { do { clrscr(); printf("******************************\n*"); printf("*Pleaseselectkey*\n"); printf("*1.password*"); printf("*2getmoney*\n"); printf("*3Return*\n"); printf("*********************************"); Key=getch(); } while(Key! ='1'&&Key! ='2'&&Key! ='3'); switch(Key) { case'1': clrscr(); do { i++; printf("pleaseinputpassword"); scanf("%d",&password); if(password1! =password) { if(i>3) { printf("Wron! ptessanykeytoexit"); getch(); exit(0); } else puts("wrong,truagain"); } } while(password1! =password&&i<=3); printf("OK! pressanykeytocontinue......"); getch(); break; case'2': do { clrscr(); if(password1! =password) { printf("pleasreloggingin,pressanykeytocontinue...."); getch(); break; } else { printf("*********************************************\n"); printf("pleaseseledt: \n"); printf("*1.$100*\n"); printf("*2.$200*\n"); printf("*3.$300*\n"); printf("*4.$Return*\n"); printf("**********************************\n"); CMoney=getch(); } } while(CMoney! ='1'&&CMoney! ='2'&&CMoney! ='3'&&CMoney! ='4'); switch(CMoney) { case'1': clrscr(); a=a-100; printf("*************************************************\n"); printf("*yourcreditminneyis$100,thankyou! *\n"); printf("*thebalanceis$%d.*\n",a); printf("*pressabykeytoreturn...*\n"); printf("*************************************************\n"); getch(); break; case'2': clrscr(); a=a-200; printf("**************************************************\n"); printf("*yourcreditminneyis$200,thankyou! *\n"); printf("*thebalanceis$%d.*\n",a); printf("*pressabykeytoreturn...*\n"); printf("*************************************************\n"); getch(); break; case'3': clrscr(); a=a-300; printf("**************************************************\n"); printf("*yourcreditminneyis$300,thankyou! *\n"); printf("*thebalanceis$%d.*\n",a); printf("*pressabykeytoreturn...*\n"); printf("*************************************************\n"); getch(); break; case'4': break; } break; case'3': printf("************************************************\n"); printf("*thankyouforyourusing! *\n"); printf("*Goodbye! *\n"); printf("************************************************\n"); getch(); break; } break; } } 15、用*打印三角形 #include"stdio.h" voidmain() { inti,j,k; for(i=1;i<5;i++) { for(j=1;j<=5-i;j++) printf(""); for(k=1;k<=2*i-1;k++) printf("*"); printf("\n"); } } 16、绘制余弦曲线 绘制余弦曲线用到了反余弦函数acos(),通过纵坐标的值来求出横坐标的值,确定了横坐标的值,其对称位置的横坐标的值也就会可以确定,即用62减去确定的横坐标值,这里的62是一个近似值2*3.14*10 #include"stdio.h" #include voidmain() { doubley; intx,m; for(y=1;y>=-1;y-=0.1) { m=acos(y)*10; for(x=1;x printf(""); printf("*"); for(;x<62-m;x++) printf(""); printf("*\n"); } getch(); } 17、打印乘法口诀表 #include"stdio.h" voidmain() { inti,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) printf("%d*%d=%d\t",i,j,i*j); printf("\n"); } } 18、输出*#*#*#$ #include"stdio.h" voidmain() { inta,b; for(a=1;a<=3;a++) { printf("*#"); } printf("$"); } 19、1计算s=1+1/2+1/3+1/4+1/n编程: #include"stdio.h" #include voidmain() { intn; doublei=1,sum=0; printf("inputn: \n"); scanf("%d",&n); while(i<=n) { sum=sum+1/i; i++; } printf("n=%d,sum=%lf\n",n,sum); } 20、一元钱况换方案 #include"stdio.h" voidmain() { inti,j,k; for(i=0;i<=10;i++) for(j=0;j<=5;j++) for(k=0;k<=2;k++) if(i+j*2+k*5==10) printf("yijiao%d,liangjiao%d,wujiao%d\n",i,j,k); } 21、63+47=36+74编程 #include"stdio.h" voidmain() { intx,y,z,x1,y1,z1,i,k,n,j=0; while (1) { printf("pleaseinputaninteger\n"); scanf("%d",&n); if(n<=10||n>=100) { printf("dataerror\n"); continue; } else if(n%10==0) { printf("dataerror\n"); continue; } else { x=n/10; y=n%10; z=10*y+x; break; } } for(i=11;i<100;i++) { if(i%10==0) continue;/*结束本次循环*/ else { x1=i/10; y1=i%10; z1=10*y1+x1; if(n+i==z+z1&&n! =z1) { printf("%d+%d=%d+%d\n",n,i,z,z1); j++; } else continue; } } if(j==0) pri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 40 语言 编程