1 Star 0 Fork 0

许瑞/C language practice

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
lxt.c 31.95 KB
一键复制 编辑 原始数据 按行查看 历史
xu rui 提交于 2022-06-10 15:17 . 22.c
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327
#include<stdio.h>
#include <string.h>
//1、计算1+2+3+......+100的和。
/*
int main()
{
int i;//循环变量
int z=0;//求和变量
for(i=1;i<=100;i++)
{
z+=i;
}
printf("1+2+3+......+100=%d\n",z);//1+2+3+......+100=5050
}
*/
//2、求1+2+3+......+n的和,n由键盘输入。
/*
int main()
{
int i,n;
int z=0;
printf("请输入1+2+3+......+n中n的值:");
scanf("%d",&n);
for(i=1;i<=n;i++)
z+=i;
printf("1+2+3+......+n=%d\n",z);
}
*/
//3、下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
//4、求1!+2!+3!+……+10!,将结果输出。!阶乘:小于等于该数的正整数乘积
/*
int main()
{
int i=1;
int n,x=1,z=0;
for(i=1;i<=10;i++)
{
for(n=i;n>0;n--)
x*=n;
z+=x;
x=1;
}
printf("1!+2!+3!+……+10!=%d\n",z);
//1!+2!+3!+……+10!=4037913
}
*/
//5、键盘输入3个整数,求这3个整数的最大值
/*
int main()
{
int a,b,c;
printf("请输入任意三个正整数:");
scanf("%d%d%d",&a,&b,&c);
if(a>b&&a>c)
printf("%d,%d,%d中的最大值为:%d\n",a,b,c,a);
if(b>a&&b>c)
printf("%d,%d,%d中的最大值为:%d\n",a,b,c,b);
if(c>a&&c>b)
printf("%d,%d,%d中的最大值为:%d\n",a,b,c,c);
}
*/
//6、打印出100~999之间的所有水仙花数。水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
/*
int main()
{
int i;
int z,g,s,b;
for(i=100;i<=999;i++)
{
g=i%10;
s=i%100/10;
b=i/100;
if(i==g*g*g+s*s*s+b*b*b)
printf("%d\n",i);//153 370 371 407
}
}
*/
//7、我有1000块钱我想买100只鸡,市场上公鸡50块一只,母鸡30块一只,小鸡10块钱3只,问题我该如何去购买?列出所有购买方案(使用for循环套用的方式)
/*
int main()
{
int g,m,x;
for(g=0;g<=20;g++)
for(m=0;m<=33;m++)
for(x=0;x<=300;x++)
{
if(g+m+x==100&&50*g+30*m+10*x/3==1000)
printf("g=%d,m=%d,x=%d\n",g,m,x);
}
}
*/
/*g=0,m=25,x=75//把1000全部花掉
g=4,m=18,x=78
g=8,m=11,x=81
g=12,m=4,x=84
*/
/*
int main()
{
int g,m,x;
for(g=0;g<=20;g++)
for(m=0;m<=33;m++)
for(x=0;x<=100;x++)
{
if(g+m+3*x==100&&50*g+30*m+10*x<=1000)
printf("g=%d,m=%d,x=%d\n",g,m,3*x);
}
}
*/
/*
不一定把1000都花了
g=0,m=1,x=99
g=0,m=4,x=96
g=0,m=7,x=93
g=0,m=10,x=90
g=0,m=13,x=87
g=0,m=16,x=84
g=0,m=19,x=81
g=0,m=22,x=78
g=0,m=25,x=75
g=1,m=0,x=99
g=1,m=3,x=96
g=1,m=6,x=93
g=1,m=9,x=90
g=1,m=12,x=87
g=1,m=15,x=84
g=1,m=18,x=81
g=1,m=21,x=78
g=2,m=2,x=96
g=2,m=5,x=93
g=2,m=8,x=90
g=2,m=11,x=87
g=2,m=14,x=84
g=2,m=17,x=81
g=2,m=20,x=78
g=3,m=1,x=96
g=3,m=4,x=93
g=3,m=7,x=90
g=3,m=10,x=87
g=3,m=13,x=84
g=3,m=16,x=81
g=3,m=19,x=78
g=4,m=0,x=96
g=4,m=3,x=93
g=4,m=6,x=90
g=4,m=9,x=87
g=4,m=12,x=84
g=4,m=15,x=81
g=4,m=18,x=78
g=5,m=2,x=93
g=5,m=5,x=90
g=5,m=8,x=87
g=5,m=11,x=84
g=5,m=14,x=81
g=6,m=1,x=93
g=6,m=4,x=90
g=6,m=7,x=87
g=6,m=10,x=84
g=6,m=13,x=81
g=7,m=0,x=93
g=7,m=3,x=90
g=7,m=6,x=87
g=7,m=9,x=84
g=7,m=12,x=81
g=8,m=2,x=90
g=8,m=5,x=87
g=8,m=8,x=84
g=8,m=11,x=81
g=9,m=1,x=90
g=9,m=4,x=87
g=9,m=7,x=84
g=10,m=0,x=90
g=10,m=3,x=87
g=10,m=6,x=84
g=11,m=2,x=87
g=11,m=5,x=84
g=12,m=1,x=87
g=12,m=4,x=84
g=13,m=0,x=87
*/
//8、输入三角形的三边a,b,c,判断a,b,c,能否构成三角形,何种类型的三角形:等腰、等边、直角、等腰直角、一般。
/*
int main()
{
int a,b,c;
printf("请输入三角形的三边:\n");
scanf("%d%d%d",&a,&b,&c);
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
if(a==b&&b==c)
printf("%d,%d,%d三边可以构成等边三角形\n",a,b,c);
else if((a==b)||(a==c)||(b==c))
{
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
printf("%d,%d,%d三边可以构成等腰直角三角形\n",a,b,c);
printf("%d,%d,%d三边可以构成等腰三角形\n",a,b,c);
}
else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
printf("%d,%d,%d三边可以构成直角三角形\n",a,b,c);
else
printf("%d,%d,%d三边可以构成一般三角形\n",a,b,c);
}
else
printf("%d,%d,%d三边不能构成三角形\n",a,b,c);
}
*/
//9、输入年号,计算这一年的2月份的天数,将结果输出。
/*
int main()
{
int n;
printf("请输入年号:");
scanf("%d",&n);
if((n%400==0)||(n%4==0&&n%100!=0))//润年,能被4整除
printf("%d年的2月份有29天\n",n);
else
printf("%d年的2月份有28天\n",n);//平年
}
*/
//10、输入年月,判断这个月有多少天。
/*
int main()
{
int n,y;
printf("请输入年,月:");
scanf("%d%d",&n,&y);
switch(y)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("%d年%d月有31天\n",n,y);break;
case 2:
if((n%400==0)||(n%4==0&&n%100!=0))//润年,能被4整除
printf("%d年的2月份有29天\n",n);
else
printf("%d年的2月份有28天\n",n);//平年
break;
case 4:
case 6:
case 9:
case 11:
printf("%d年%d月有30天\n",n,y);break;
default:
printf("输入有误!\n");break;
}
}
*/
//11、编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词。
/*
int main()
{
int n;
printf("请输入一个1~7之间的整数:");
scanf("%d",&n);
switch(n)
{
case 1:printf("%d的英文:one\n",n);break;
case 2:printf("%d的英文:two\n",n);break;
case 3:printf("%d的英文:three\n",n);break;
case 4:printf("%d的英文:four\n",n);break;
case 5:printf("%d的英文:five\n",n);break;
case 6:printf("%d的英文:six\n",n);break;
case 7:printf("%d的英文:seven\n",n);break;
default:
printf("输入有误!\n");break;
}
}
*/
//12、输入奖金数a,计算并输出税率、应缴税款和实得奖金数。3000以下不需要交税,3000~4000税率1%,4000~5000税率是2%,5000~10000以上是3%,10000以上5%。
/*
int main()
{
float a;
printf("请输入奖金数\n");
scanf("%f",&a);
if(a<=0)
{
printf("输入有误!\n");
}
else if(a<=3000)
{
printf("无需缴税,实得奖金:%.2f\n",a);
}
else if(a<=4000)
{
printf("税率:1%%,应缴税款:%.2f,实得奖金:%.2f\n",a*0.01,a*0.99);
}
else if(a<=5000)
{
printf("税率:2%%,应缴税款:%.2f,实得奖金:%.2f\n",a*0.02,a*0.98);
}
else if(a<=10000)
{
printf("税率:3%%,应缴税款:%.2f,实得奖金:%.2f\n",a*0.03,a*0.97);
}
else
{
printf("税率:5%%,应缴税款:%.2f,实得奖金:%.2f\n",a*0.05,a*0.95);
}
}
*/
//13、编写程序,输入两个整数,和+、-、*、/之中的任意一个运算符,输出计算结果。
/*
int main()
{
int a,b;
double z;
char c;
printf("请输入公式:\n");
scanf("%d%c%d",&a,&c,&b);
switch(c)
{
case '+':z=a+b;break;
case '-':z=a-b;break;
case '*':z=a*b;break;
case '/':z=(double)a/b;break;
}
printf("%d%c%d=%.2f\n",a,c,b,z);
}
*/
//14、编程计算:1*2*3+3*4*5+……+99*100*101的值。
//15、输入一个正整数求出它是几位数;输出原数和位数。
/*
int main()
{
int z,c;
int n=1,b=1;
printf("请输入一个正整数:\n");//100
scanf("%d",&z);
c=z;
for(n=1;n>=1;n++)
{
b*=10;
c/=10;
if(c==0)
{
break;
}
}
printf("%d是%d位数,原码为:%d\n",z,n,b-z);
}
*/
//17、有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程。
/*
int main()
{
int i=0,n=1020;
while(n>0)
{
i++;
n=n/2-2;
}
printf("%d天后能买完\n",i);//8天
}
*/
//18、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
/*
int main()
{
int i,n=1;
for(i=9;i>=1;i--)
{
n=(n+1)*2;
}
printf("第一天共摘了%d个桃子。\n",n);//第一天共摘了1534个桃子。
}
*/
//19、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
/*
int main()
{
int i=1,y;
int n,x=0,z=0;
printf("请输入月份:");
scanf("%d",&y);
for(n=(y-4);n>=1;n--)
x+=n;
z=(y-1)+x;
x=1;
switch(y)
{
case 1:
case 2:
z=1;break;
case 3:z=2;break;
case 4:z=3;break;
}
printf("%d个月的兔子总数为=%d\n",y,2*z);
}
*/
//20、求Sn=a+aa+aaa+…+aa…a之值,n,a由键盘输入。
/*
int main()
{
int n,a;
int i=1,m=0,z=1;
printf("请输入n,a的值:\n");
scanf("%d%d",&n,&a);
printf("S%d=",n);
for(;n>=1;n--)
{
for(i=n;i>=1;i--)
{
z*=a;
}
m+=z;
z=1;
}
printf("%d\n",m);
}
*/
/*
21、打印一个5*5的图形(原样打印)
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
*/
/*
int main()
{
char n;
int a,b,i;
printf("请输入打印图像:\n");
scanf("%d%c%d",&a,&n,&b);
for(;b>=1;b--)
{
printf(" ");
for(i=a;i>=1;i--)
{
printf("%c ",n);
}
printf("\n");
}
}
*/
//22、打印菱形
/*
int main()
{
char n='*',m=' ';
int a,b,c,d,e,f=0;
printf("请输入边长:\n");
scanf("%d",&a);//6
d=a-1;//5
e=1;
while(1)
{
for(b=d;b>=1;b--)//5 4 3 2 1 0()d -1 空格
{
printf("%c",m);
}
for(c=1;c<=e;c++)//1 2 3 4 5 6 7 *
{
if(e>a)
{
f=1;
break;
}
printf("%c%c",n,m);
}
if(d<0&&e>a)//清除空行和重复行
d++,e--;
else
printf("\n");
switch(f)//改变增减
{
case 0:d--,e++;break;
case 1:d++,e--;break;
}
if(e<1)//跳出死循环
break;
}
}
*/
//23、打印金字塔图形
/*
int main()
{
char n='*',m=' ';
int a,b,c,d,e;
printf("请输入边长:\n");
scanf("%d",&a);//6
d=a-1;//5
e=1;
while(1)
{
for(b=d;b>=1;b--)//5
{
printf("%c",m);
}
d--;
for(c=1;c<=e;c++)//1
{
if(e>a)
break;
printf("%c%c",n,m);
}
if(e>a)
break;
e++;
printf("\n");
}
}
*/
//24、打印菱形
//25、求满足1+2+3+…+n<500中最大的N,并求其和,编写程序实现
/*
int main()
{
int i;
int z=0;
for(i=1;i<500;i++)
{
z+=i;
if(z>=500)
break;
}
z-=i;
i--;
printf("1+2+3+…+n<500中最大的n为:%d,其和为:%d\n",i,z);
//1+2+3+…+n<500中最大的n为:31,其和为:496
}
*/
//26、把100~200之间的不能被3整除的数输出。
/*
int main()
{
int i;
for(i=100;i<=200;i++)
{
if(i%3)
printf("%d,\n",i);
}
}
*/
/*
100,101,103,104,106,107,109,110,112,113,115,116,
118,119,121,122,124,125,127,128,130,131,133,134,
136,137,139,140,142,143,145,146,148,149,151,152,154,
155,157,158,160,161,163,164,166,167,169,170,172,173,
175,176,178,179,181,182,184,185,187,188,190,191,193,
194,196,197,199,200
*/
//27、按以下规律翻译密码:将每一个字母变成它后面的字母,例如,将A变成B,B变成C,…,Z变成A,非字母字符不变,“!”作为电文结束标志。
/*
int main()
{
char n;
printf("请输入一个大写字母:\n");
scanf("%c",&n);
if(n>=65&&n<=90)
{
if(n==90)
n=65;
else
n++;
}
printf("%c\n",n);
}
*/
//28、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是小写字母,则把它变成大写字母;其它字符不变,请编程。
/*
int main()
{
char n;
printf("请输入一个字母:\n");
scanf("%c",&n);
if(n>=65&&n<=90)
{
n=n+32;
}
else if(n>=97&&n<=122)
{
n=n-32;
}
printf("%c\n",n);
}
*/
//29、编程实现:计算1到100之间的奇数之和及偶数之和。
/*
int main()
{
int i;
int n,j=0,o=0;
for(i=1;i<=100;i++)
{
n=i%2;
switch(n)
{
case 0:o+=i;break;
case 1:j+=i;break;
}
}
printf("1到100之间的奇数之和为:%d,偶数之和为:%d\n",j,o);
//1到100之间的奇数之和为:2500,偶数之和为:2550
}
*/
//30、有一个两位数XY,X是十位,Y是个位;给出X+Y的值和X*Y的值;编程实现让用户猜测这个两位数十多少?根据猜测给出不同的提示。
/*
int main()
{
int g=0,s=1,n,m;
int h,j;
printf("一个两位数XY,X是十位,Y是个位,请输入X+Y的值和X*Y的值:\n");
scanf("%d%d",&h,&j);
while(s<=9)
{
while(g<=9)
{
if((s+g==h)&&(s*g==j))
{
goto h;
}
g++;
}
s++;
g=0;
}
if(s==10)
printf("输入有误!\n");
goto w;
h:
n=10*s+g;
m=10*g+s;
if(n==m)
printf("这个两位数XY是%d\n",n);
else
printf("这个两位数XY是%d或%d\n",n,m);
w:
g=0,s=1;
}
*/
//31、键盘输入的一个两位数XY,X是十位,Y是个位;请编程计算X+Y的值和X*Y的值
/*
int main()
{
int n;
int x,y;
printf("请输入的一个两位数:\n");
scanf("%d",&n);
x=n/10;
y=n%10;
printf("X+Y=%d,X*Y=%d",x+y,x*y);
}
*/
//练习:在键盘上输入一个字符串,将字符串逆序输出 “1234” ---- “4321”
/*
int main()
{
char suff[128],m;
int i,n;
gets(suff);//6
printf("%s\n",suff);
for(i=0;suff[i+1]!='\0';i++)//i最大下标
{
//7 '\0'
}
for(n=0;n<=i/2;n++)
{
m=suff[n];
suff[n]=suff[i-n];
suff[i-n]=m;
}
printf("%s\n",suff);
}
*/
/*
int main()
{
int n,i=0;//元素个数
char suff[128],m;
gets(suff);
printf("%s\n",suff);//顺序输出
while(suff[i]!='\0')
{
i++;
}
for(n=i-1;n>=0;n--)
{
printf("%c",suff[n]);//字符依次逆序输出
}
printf("\n");
for(n=0;n<=i/2;n++)
{
m=suff[n];
suff[n]=suff[i-1-n];
suff[i-1-n]=m;
}
printf("%s\n",suff);//逆序输出
}
*/
//1. 输入10个整数并将其由小到大排序输出(冒泡排序)。
/*
int main()
{
int buff[10];
int i,a,b,s;
for(i=0;i<=9;i++)
{
scanf("%d",&buff[i]);
}
for(a=0;a<9;a++)
{
for(b=0;b<9-a;b++)
{
if(buff[b]>buff[b+1])
{
s=buff[b];
buff[b]=buff[b+1];
buff[b+1]=s;
}
}
}
for(i=0;i<=9;i++)
{
printf("%d ",buff[i]);
}
}
*/
//2. 输入一行字符,统计其中单词的个数,单词之间用空格分隔。
/*
int main()
{
char suff[128];
int i=0,m=0,n=0;
printf("请输入一行单词:\n");
gets(suff);//scanf();认为空格是结束标志
while(1)
{
while (suff[i]!=' ')
{
i++;
n++;
if(suff[i]=='\0')
{
m++;
printf("第%d个单词所占字节为:%d\n",m,n);
goto h;
}
}
i++;
m++;
printf("第%d个单词所占字节为:%d\n",m,n);
n=0;
}
h:
printf("单词的个数为:%d\n",m);
printf("字符串所占字节:%d\n ",i);
}
*/
/*
int main()
{
char suff[128];
int i=0,m=0,n=0;
printf("请输入一行单词:\n");
gets(suff);//scanf();认为空格是结束标志
while(1)
{
p: while (suff[i]!=' ')
{
i++;
n++;
if(suff[i]=='\0')
{
m++;
printf("第%d个单词所占字节为:%d\n",m,n);
goto h;
}
}
if(n==0||suff[i+1]==' ')
{
i++;
goto p;
}
if(suff[i+1]!=' ')
{
if(suff[i+1]=='\0')
{
m++;
i++;
printf("第%d个单词所占字节为:%d\n",m,n);
goto h;
}
//if(suff[i]!='\0')
m++;
i++;
printf("第%d个单词所占字节为:%d\n",m,n);
}
n=0;
}
h:
printf("单词的个数为:%d\n",m);
printf("字符串所占字节:%d\n ",i);
}
*/
/*
输入一行字符,统计其中单词的个数,单词之间用空格分隔。
1.输入一行字符 “dxfd kgvf”
2.用while来判断字符串是否结束
3.查空格
*/
/*
int main(void)
{
char buff[128],i = 0,len = 0,sum = 0,a = 0,b = 0;
gets(buff); //输入一串字符串
printf("输入的字符串是:%s\n",buff);
while(buff[i] != '\0')//循环判断是否到字符串结尾
{
len++;
i++;
}
printf("字符串的长度为:%d\n",len);
i = 0;
while(buff[i] != '\0')
{// bcb
if(buff[i] != ' ')//去除前面的空格
{
for(; i < len ;i++)
{
if(buff[i] == ' ' && buff[i+1] != ' ' && buff[i+1] != '\0')
{
sum++;
}
}
}
i++;
}
printf("单词的个数为:%d\n",sum+ 1 );
}
*/
//3. 编写一个程序,将字符数组a中的全部字符复制到字符数组b中。
/*
int main()
{
char a[128],b[128];
int i=-1;
gets(a);
printf("%s\n",a);
while(1)
{
i++;
b[i]=a[i];
if(a[i]=='\0')
break;
}
printf("%s\n",b);
}
*/
// char *strncpy(char *dest, const char *src, size_t n);将后面的参数的复制给前面的参数n位
// char *strcpy(char *dest, const char *src);将后面的参数复制给前面的参数
// strlen(const char *s);查看有效元素
//4. 随机输入一个长度小于30的字符串,检测输入的字符串是否存在于"1234567890qwertyuiopasdfghjklzxcvbnm"
/*
int main()
{
char suff[]="1234567890qwertyuiopasdfghjklzxcvbnm";//37
char a[30];
int i=0,n=0;
gets(a);
while(1)
{
if(suff[i]==a[n])
{
i++;
n++;
if(a[n]=='\0')
{
printf("输入的字符串存在于“1234567890qwertyuiopasdfghjklzxcvbnm”中\n");
break;
}
}
else if(n==0)
i++;
else
{
printf("输入的字符串不存在于“1234567890qwertyuiopasdfghjklzxcvbnm”中\n");
break;
}
if(suff[i]=='\0')
{
printf("输入的字符串不存在于“1234567890qwertyuiopasdfghjklzxcvbnm”中\n");
break;
}
}
}
*/
/*
int main()
{
char suff[]="1234567890qwertyu12378iopasdfghjklzxcvbnm";//37
char a[30];
int i=0,n=0;
gets(a);
while(1)
{
if(suff[i]==a[n])
{
i++;
n++;
if(a[n]=='\0')
{
printf("输入的字符串存在于“1234567890qwertyuiopasdfghjklzxcvbnm”中\n");
break;
}
}
else
{
i++;
n=0;
}
if(suff[i]=='\0')
{
printf("输入的字符串不存在于“1234567890qwertyuiopasdfghjklzxcvbnm”中\n");
break;
}
}
}
*/
//5. 输入两个字符串,进行拼接,然后输出。
/*
int main()
{
char a[128],b[128];
int i=0,n=0;
gets(a);
gets(b);
printf("请输入两个字符串:\n");
printf("%s\n",a);
printf("%s\n",b);
while(1)
{
if(a[i]!='\0')//4
{
i++;
}
else
{
while(b[n]!='\0')
{
a[i]=b[n];
i++;
n++;
}
a[i]=b[n];
break;
}
}
printf("拼接为:%s\n",a);
}
*/
// #include <string.h>
// char *strcat(char *dest, const char *src);
// char *strncat(char *dest, const char *src, size_t n);
//6. 输入10个整数,求这10个整数中的最大值
/*
//判断10个字符:0~9 a~z A~Z
int main()
{
char suff[128],a,b;
int i=0,c;
printf("请输入10个整数:\n");
gets(suff);
a=suff[i];
b=suff[i++];
while(i<9)
{
i++;// 2 3 4 5 6 7 8 9
c=a>=b;
switch(c)//0 1 2 3 4 5 6 7 8
{
case 0:a=suff[i];break;
case 1:b=suff[i];break;
}
}
c=a>=b;
switch(c)//判断(0 1 2 3 4 5 6 7 8)最大值 比较 9
{
case 0:printf("最大值为:%c\n",b);break;
case 1:printf("最大值为:%c\n",a);break;
}
}
*/
/*
int main()
{
int suff[10],a,b;
int i,c;
printf("请输入10个整数:\n");
for(i=0;i<=9;i++)
{
scanf("%d",&suff[i]);
}
i=0;
a=suff[i];
b=suff[i++];
while(i<9)
{
i++;
c=(a>=b);
switch(c)
{
case 0:a=suff[i];break;
case 1:b=suff[i];break;
}
}
c=a>=b;
switch(c)
{
case 0:printf("最大值为:%d\n",b);break;
case 1:printf("最大值为:%d\n",a);break;
}
}
*/
/*
int main()
{
int suff[10],a,b;
int i,c;
printf("请输入10个整数:\n");
for(i=0;i<=9;i++)
{
scanf("%d",&suff[i]);
}
i=0;
a=suff[i];
b=suff[i++];
for(i++;i<=10;i++)
{
if(a>=b)
{
if(i==10)
printf("最大值为:%d\n",a);
b=suff[i];
}
else
{
a=suff[i];
if(i==10)
printf("最大值为:%d\n",b);
}
}
}
*/
//7. 将10个整数放到一维数组中,输出该数组中的最大值和最小值的下标,然后将最小值与和数组中的第一个元素对换,最大值与最后一个元素对换位置。
/*
int main()
{
int suff[10];
int i,a,b,c,d,e,f,x,m=0,n=1,u=0,w=1;
for(i=0;i<=9;i++)
{
scanf("%d",&suff[i]);
}
a=suff[0];
b=suff[1];
e=suff[0];
f=suff[1];
for(i=2;i<=10;i++)
{
c=a>=b;
d=e<=f;
switch(c)
{
case 0:
if(i==10)
{
x=suff[9];
suff[9]=b;
suff[n]=x;
printf("最大值为:%d,最大值下标为:%d\n",b,n);
}
a=suff[i];
m=i;
break;
case 1:
if(i==10)
{
x=suff[9];
suff[9]=a;
suff[m]=x;
printf("最大值为:%d,最大值下标为:%d\n",a,m);
}
b=suff[i];
n=i;
break;
}
switch(d)
{
case 0:
if(i==10)
{
x=suff[0];
suff[0]=f;
suff[w]=x;
printf("最小值为:%d,最小值下标为:%d\n",f,w);
}
e=suff[i];
u=i;
break;
case 1:
if(i==10)
{
x=suff[0];
suff[0]=e;
suff[u]=x;
printf("最小值为:%d,最小值下标为:%d\n",e,u);
}
f=suff[i];
w=i;
break;
}
}
for(i=0;i<=9;i++)
{
printf("%d ",suff[i]);
}
}
*/
//8. 输入10个数,统计非负数的个数、并计算非负数的和。0~9
/*
int main()
{
int suff[10];//只能储存10位数
int a,b=0,i=0,z=0,h=0,n=0;
printf("请输入10个数:\n");
for(i=0;i<=9;i++)
{
scanf("%d",&suff[i]);
}
i=0;
while(i<=9)
{
a=suff[i]>=0;
switch(a)
{
case 0:n++;h+=suff[i];break;//负数
case 1:b++;z+=suff[i];break;//非负数
}
i++;
}
printf("负数的个数为:%d,负数的和为:%d\n",n,h);
printf("非负数的个数为:%d,非负数的和为:%d\n",b,z);
}
*/
/*
for(i=0;i<=9;i++)
{
if(suff[i]>=0)//非负数
{
b++;
z=z+suff[i];
}
else//负数
{
n++;
h=h+suff[i];
}
}
*/
//9. 从键盘输入一个字符串,判断输入字符串中数字的个数、大写字母的个数、小写字母的个数,以*作为字符串输入结束的标志。
/*
int main()
{
char suff[128];
int i=0,m=0,n=0,s=0;
printf("请输入一个字符串:\n");
gets(suff);//scanf();认为空格是结束标志
while (suff[i]!='*')
{
if(suff[i]>='0'&&suff[i]<='9')
{
s++;
}
else if(suff[i]>='a'&&suff[i]<='z')
{
m++;
}
else if(suff[i]>='A'&&suff[i]<='Z')
{
n++;
}
i++;
if (suff[i]=='\0')
break;//如果忽略‘\0’,输入字符串没有*,输出为s随机数
}
printf("输入字符串中数字的个数为:%d大写字母的个数为:%d小写字母的个数为:%d\n",s,n,m);
}
*/
//10. 输入两个字符串,对比这两个字符串是否相同。
/*
int main()
{
char a[128],b[128];
int i=0;
gets(a);
gets(b);
while(1)
{
if(a[i]==b[i])
{
if(a[i]=='\0')
{
printf("这两个字符串相同\n");
break;
}
i++;
}
else
{
printf("这两个字符串不相同\n");
break;
}
}
}
/* #include <string.h>比较 相同返回0 区分大小写
int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, size_t n);
*/
/*
1. 将下列二维数组行列互换
1 2 3 1 4 7
4 5 6 > 2 5 8
7 8 9 3 6 9
*/
/*
int main()
{
int buff[3][3]={
1,2,3,
4,5,6,
7,8,9
};
int a,b,i;
for(a=0;a<3;a++)//hang
{
for(b=a;b<3;b++)//lie
{
i=buff[a][b];
buff[a][b]=buff[b][a];
buff[b][a]=i;
}
}
for(a=0;a<3;a++)//hang
{
for(b=0;b<3;b++)//lie
{
printf("%d ",buff[a][b]);
}
printf("\n");
}
}
*/
/*
int main()
{
int buff[3][3];
int a,b,i;
for(a=0;a<3;a++)//hang
{
for(b=0;b<3;b++)//lie
{
scanf("%d",&buff[a][b]);
}
}
for(a=0;a<3;a++)//hang
{
for(b=a;b<3;b++)//lie
{
i=buff[a][b];
buff[a][b]=buff[b][a];
buff[b][a]=i;
}
}
for(a=0;a<3;a++)//hang
{
for(b=0;b<3;b++)//lie
{
printf("%d ",buff[a][b]);
}
printf("\n");
}
}
*/
//2. 输入一个字符串,判断是否是回文。(回文:这个字符串顺读和反读是一样的。如“abcba”和”123321”
/*
int main()
{
char suff[128];
int i=0;
int m,n;
printf("请输入一个字符串:\n");
gets(suff);
printf("%s\n",suff);
while(suff[i]!='\0')//元素个数
{
i++;
}
for(n=0;n<=i/2;n++)
{
if(suff[n]==suff[i-1-n])
{
if(n==i/2)
{
printf("这个字符串是回文!\n");
break;
}
}
else
{
printf("这个字符串不是回文!\n");
break;
}
}
}
*/
//1、输入10个整数到数组中,求所有元素之和。
/*
int main()
{
int suff[10];
int i,z=0;
for(i=0;i<=9;i++)
{
scanf("%d",&suff[i]);
}
for(i=0;i<=9;i++)
{
z+=suff[i];
}
printf("所有元素之和为:%d\n",z);
}
*/
//2、输入10个整数,求这10个整数中的最大值
/*
int main()
{
int suff[10];
int i,a=0,b=1;
for(i=0;i<=9;i++)
{
scanf("%d",&suff[i]);
}
for(i=2;i<=10;i++)
{
if(suff[a]>=suff[b])
{
b=i;
if(i==10)
printf("这10个整数中的最大值为:%d\n",suff[a]);
}
else
{
a=i;
if(i==10)
printf("这10个整数中的最大值为:%d\n",suff[b]);
}
}
}
*/
//3、输入10个整数存入数组中,将数组中下标为1的元素与下标为7的元素交换位置。
/*
int main()
{
int buff[10];
int i,a;
printf("请输入10个整数:\n");
for(i=0;i<=9;i++)
{
scanf("%d",&buff[i]);
}
a=buff[1];
buff[1]=buff[7];
buff[7]=a;
printf("交换位置后:");
for(i=0;i<=9;i++)
{
printf("%d ",buff[i]);
}
printf("\n");
}
*/
//4、将10个整数放到一维数组中,输出该数组中的最大值和最小值的下标,然后将最小值与和数组中的第一个元素对换,最大值与最后一个元素对换位置。
/*
int main()
{
int buff[10];
int i,a=0,b=1,x=1,n=0,m;
for(i=0;i<=9;i++)
{
scanf("%d",&buff[i]);
}
for(i=2;i<=10;i++)
{
if(buff[a]>=buff[b])
{
b=i;
if(i==10)
{
printf("最大值的下标为:%d\n",a);
m=buff[9];
buff[9]=buff[a];
buff[a]=m;
}
}
else
{
a=i;
if(i==10)
{
printf("最大值的下标为:%d\n",b);
m=buff[9];
buff[9]=buff[b];
buff[b]=m;
}
}
if(buff[n]<buff[x])
{
x=i;
if(i==10)
{
printf("最小值的下标为:%d\n",n);
m=buff[0];
buff[0]=buff[n];
buff[n]=m;
}
}
else
n=i;
if(i==10)
{
printf("最小值的下标为:%d\n",x);
m=buff[0];
buff[0]=buff[x];
buff[x]=m;
}
}
printf("对换位置后:");
for(i=0;i<=9;i++)
{
printf("%d ",buff[i]);
}
printf("\n");
}
*/
//5、输入10个整数并将其由小到大排序输出(冒泡排序)。
/*
int main()
{
int buff[10];
int i,m,n;
for(i=0;i<=9;i++)
{
scanf("%d",&buff[i]);
}
for(m=0;m<9;m++)
{
for(i=0;i<9-m;i++)
{
if(buff[i]>buff[i+1])
{
n=buff[i];
buff[i]=buff[i+1];
buff[i+1]=n;
}
}
}
for(i=0;i<=9;i++)
{
printf("%d ",buff[i]);
}
printf("\n");
}
*/
//6、输入一个字符串求字符串中大写、小写、数字、空格以及其他字符的个数。
/*
int main()
{
char buff[128];
int d=0,x=0,s=0,k=0,q=0,i=0,c;
gets(buff);
while(1)
{
if(buff[i]>='A'&&buff[i]<='Z')
c=0;
else if(buff[i]>='a'&&buff[i]<='z')
c=1;
else if(buff[i]>='0'&&buff[i]<='9')
c=2;
else if(buff[i]==' ')
c=3;
else
c=4;
if(buff[i]=='\0')
break;
i++;
switch(c)
{
case 0:d++;break;
case 1:x++;break;
case 2:s++;break;
case 3:k++;break;
case 4:q++;break;
}
}
printf("字符串中大写:%d,小写:%d,数字:%d,空格:%d,其他字符:%d\n",d,x,s,k,q);
}
*/
//7、求一个3*3的整型矩阵对角线元素之和。将原矩阵和求出的和输出
/*
int main()
{
int buff[3][3];
int a,b,i,z=0;
for(a=0;a<3;a++)
{
for(b=0;b<3;b++)
{
scanf("%d",&buff[a][b]);
}
}
printf("原矩阵:\n");
for(a=0;a<3;a++)
{
for(b=0;b<3;b++)
{
printf("%d ",buff[a][b]);
}
printf("\n");
}
for(a=0;a<3;a++)
{
for(b=0;b<3;b++)
{
if(a==b||a+b==2)
{
if(a==b&&a+b==2)
z+=buff[a][b];
z+=buff[a][b];
}
}
}
printf("整型矩阵对角线元素之和:%d\n",z);
}
*/
//8、求一个4*4的矩阵各行元素的平均值、各列元素的平均值;将原矩阵和求出的平均值全部输出。
/*
int main()
{
int buff[4][4];
int a,b,h=0,s=0;
for(a=0;a<4;a++)
{
for(b=0;b<4;b++)
{
scanf("%d",&buff[a][b]);
}
}
printf("原矩阵\n");
for(a=0;a<4;a++)
{
for(b=0;b<4;b++)
{
printf("%d ",buff[a][b]);
}
printf("\n");
}
for(a=0;a<4;a++)
{
for(b=0;b<4;b++)
{
h+=buff[a][b];
}
printf("第%d行的平均值:%.2f\n",a,h/4.0);
h=0;
}
for(b=0;b<4;b++)
{
for(a=0;a<4;a++)
{
s+=buff[a][b];
}
printf("第%d列的平均值:%.2f\n",b,s/4.0);
s=0;
}
}
*/
//9、求一个4*4的矩阵各列元素的最大值,各行元素的最大值;将原矩阵和求出的最大值全部输出。
/*
int main()
{
int buff[4][4];
int a,b,h=0,s=0;
for(a=0;a<4;a++)
{
for(b=0;b<4;b++)
{
scanf("%d",&buff[a][b]);
}
}
printf("原矩阵\n");
for(a=0;a<4;a++)
{
for(b=0;b<4;b++)
{
printf("%d ",buff[a][b]);
}
printf("\n");
}
for(a=0;a<4;a++)
{
for(b=0;b<3;b++)
{
if(buff[a][b]>buff[a][b+1])
{
h=buff[a][b];
}
else
{
h=buff[a][b+1];
}
}
printf("第%d行的最大值:%d\n",a,h);
}
for(b=0;b<4;b++)
{
for(a=0;a<3;a++)
{
if(buff[a][b]>buff[a+1][b])
{
s=buff[a][b];
}
else
{
s=buff[a+1][b];
}
}
printf("第%d列的平均值:%d\n",b,s);
}
}
*/
//10、输入3个字符串,统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。(要求使用二维数组保存字符串)
/*
int main()
{
char buff[3][100];
int a,b,d=0,x=0,s=0,k=0,q=0;
printf("请输入3个字符串:\n");
for(a=0;a<3;a++)
{
for(b=0;b<100;b++)
{
scanf("%c",&buff[a][b]);
if(buff[a][b]>='A'&&buff[a][b]<='Z')
d++;
else if(buff[a][b]>='a'&&buff[a][b]<='z')
x++;
else if(buff[a][b]>='0'&&buff[a][b]<='9')
s++;
else if(buff[a][b]==' ')
k++;
else
q++;
if(buff[a][b]==10)
break;
}
}
printf("字符串中大写:%d,小写:%d,数字:%d,空格:%d,其他字符:%d\n",d,x,s,k,q);
}
*/
int main()
{
char i;
scanf("%c",&i);
printf("%d\n",i);
}
//11、编程序求出两个3*4矩阵的和并将原矩阵和求出的和矩阵按原矩阵的形式分别输出。
/*
int main()
{
int a[3][4],b[3][4];
int x,y,z;
printf("请输入两个3*4矩阵:\n");
for(x=0;x<3;x++)
{
for(y=0;y<4;y++)
{
scanf("%d",&a[x][y]);
}
}
for(x=0;x<3;x++)
{
for(y=0;y<4;y++)
{
scanf("%d",&b[x][y]);
}
}
printf("原矩阵a:\n");
for(x=0;x<3;x++)
{
for(y=0;y<4;y++)
{
printf("%d",a[x][y]);
}
printf("\n");
}
printf("原矩阵b:\n");
for(x=0;x<3;x++)
{
for(y=0;y<4;y++)
{
printf("%d",b[x][y]);
}
printf("\n");
}
printf("两个3*4矩阵的和a+b:\n");
for(x=0;x<3;x++)
{
for(y=0;y<4;y++)
{
printf("%d",a[x][y]+b[x][y]);
}
printf("\n");
}
}
*/
//12将一个3*3的矩阵转置,转置矩阵输出。
/*
int main()
{
int buff[3][3];
int a,b,i;
for(a=0;a<3;a++)//hang
{
for(b=0;b<3;b++)//lie
{
scanf("%d",&buff[a][b]);
}
}
for(a=0;a<3;a++)//hang
{
for(b=a;b<3;b++)//lie
{
i=buff[a][b];
buff[a][b]=buff[b][a];
buff[b][a]=i;
}
}
for(a=0;a<3;a++)//hang
{
for(b=0;b<3;b++)//lie
{
printf("%d ",buff[a][b]);
}
printf("\n");
}
}
*/
//13输入一个3*3矩阵数组,使用冒泡法对其进行排序。
/*
int main()
{
int buff[3][3];
int a,b,i,m;
for(a=0;a<3;a++)//hang
{
for(b=0;b<3;b++)//lie
{
scanf("%d",&buff[a][b]);
}
}
printf("原矩阵buff:\n");
for(a=0;a<3;a++)//hang
{
for(b=0;b<3;b++)//lie
{
printf("%d ",buff[a][b]);
}
printf("\n");
}
for(i=0;i<8;i++)
{
for(a=0;a<3;a++)//hang
{
for(b=0;b<2;b++)//lie
{
if(buff[a][b]>buff[a][b+1])//00>01;01>02;02>10;10>11,11>12,12>20,20>21,21>22
{
m=buff[a][b];
buff[a][b]=buff[a][b+1];
buff[a][b+1]=m;
}
}
if(a<2)
{
if(buff[a][b]>buff[a+1][0])//00>01;01>02;02>10;10>11
{
m=buff[a][b];
buff[a][b]=buff[a+1][0];
buff[a+1][0]=m;
}
}
}
}
printf("冒泡排序buff:\n");
for(a=0;a<3;a++)//hang
{
for(b=0;b<3;b++)//lie
{
printf("%d ",buff[a][b]);
}
printf("\n");
}
}
*/
/*14、打印如图所示的杨辉三角,要求打印出n行,n由键盘输入。
1 -----0
1 1 -----1
1 2 1 -----2
1 3 3 1 -----3
1 4 6 4 1
1 5 10 10 5 1
………
*/
/*
int main()
{
int buff[128][128]={0};
int a,b,i,n,m=1;
scanf("%d",&n);
buff[0][0]=m;
for(a=0;a<n;a++)//hang
{
for(b=0;b<a+1;b++)//lie
{
buff[a][b]=m;
printf("%d ",buff[a][b]);
m=buff[a-1][b]+buff[a-1][b+1];
}
m=1;
printf("\n");
}
}
*/
/*
*/
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/xurui1230/c-language-practice.git
git@gitee.com:xurui1230/c-language-practice.git
xurui1230
c-language-practice
C language practice
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385