近100个C语言基础算法案例(初级篇)

下面这些C语言基础算法案例都是经过测试和验证过了的,欢迎各位使用。

本文是该系列的第一篇,都是一些相对初级的算法,很适合刚开始学C语言的同学。

源代码:

输出:

CProgramming2、C语言打印用户输入的一个整数源代码:

Enterainteger:25Youentered:253、C语言实现两个整数相加源代码:

Entertwointegers:1211Sum:234、C语言实现两个小数相乘源代码:

Entertwonumbers:2.41.1Product:2.6400005、C语言查找字符的ASCII值源代码:

Enteracharacter:GASCIIvalueofG=716、C语言根据用户输入的整数做商和余数源代码:

Enterdividend:25Enterdivisor:4Quotient=6Remainder=17、C语言获取整型、单精度浮点型、双精度浮点型和字符型的长度基本语法是:

/*Thisprogramcomputesthesizeofvariableusingsizeofoperator.*/#includeintmain(){inta;floatb;doublec;chard;printf('Sizeofint:%dbytes\n',sizeof(a));printf('Sizeoffloat:%dbytes\n',sizeof(b));printf('Sizeofdouble:%dbytes\n',sizeof(c));printf('Sizeofchar:%dbyte\n',sizeof(d));return0;}输出:

注:可能会由于系统的不同出来的结果也不尽相同。

#includeintmain(){inta;longintb;/*intisoptional.*/longlongintc;/*intisoptional.*/printf('Sizeofint=%dbytes\n',sizeof(a));printf('Sizeoflongint=%ldbytes\n',sizeof(b));printf('Sizeoflonglongint=%ldbytes',sizeof(c));return0;}输出:

#includeintmain(){floata,b,temp;printf('Entervalueofa:');scanf('%f',&a);printf('Entervalueofb:');scanf('%f',&b);temp=a;/*Valueofaisstoredinvariabletemp*/a=b;/*Valueofbisstoredinvariablea*/b=temp;/*Valueoftemp(whichcontainsinitialvalueofa)isstoredinvariableb*/printf('\nAfterswapping,valueofa=%.2f\n',a);printf('Afterswapping,valueofb=%.2f',b);return0;}输出:

/*Cprogramtocheckwhetheranumberenteredbyuserisevenorodd.*/#includeintmain(){intnum;printf('Enteranintegeryouwanttocheck:');scanf('%d',&num);if((num%2)==0)/*Checkingwhetherremainderis0ornot.*/printf('%diseven.',num);elseprintf('%disodd.',num);return0;}输出1:

输出2:

Enteranintegeryouwanttocheck:1212iseven.也可以用条件运算符解决:

#includeintmain(){charc;printf('Enteranalphabet:');scanf('%c',&c);if(c=='a'||c=='A'||c=='e'||c=='E'||c=='i'||c=='I'||c=='o'||c=='O'||c=='u'||c=='U')printf('%cisavowel.',c);elseprintf('%cisaconsonant.',c);return0;}输出1:

Enteranalphabet:GGisaconsonant.也可以用条件运算符解决

输出结果和上面的程序相同。

实现1:

/*Cprogramtofindlargestnumberusingifstatementonly*/#includeintmain(){floata,b,c;printf('Enterthreenumbers:');scanf('%f%f%f',&a,&b,&c);if(a>=b&&a>=c)printf('Largestnumber=%.2f',a);if(b>=a&&b>=c)printf('Largestnumber=%.2f',b);if(c>=a&&c>=b)printf('Largestnumber=%.2f',c);return0;}实现2:

实现3:

/*CProgramtofindlargestnumberusingnestedif...elsestatement*/#includeintmain(){floata,b,c;printf('Enterthreenumbers:');scanf('%f%f%f',&a,&b,&c);if(a>=b&&a>=c)printf('Largestnumber=%.2f',a);elseif(b>=a&&b>=c)printf('Largestnumber=%.2f',b);elseprintf('Largestnumber=%.2f',c);return0;}输出结果相同:

/*Programtofindrootsofaquadraticequationwhencoefficientsareenteredbyuser.*//*Libraryfunctionsqrt()computesthesquareroot.*/#include#include/*Thisisneededtousesqrt()function.*/intmain(){floata,b,c,determinant,r1,r2,real,imag;printf('Entercoefficientsa,bandc:');scanf('%f%f%f',&a,&b,&c);determinant=b*b-4*a*c;if(determinant>0){r1=(-b+sqrt(determinant))/(2*a);r2=(-b-sqrt(determinant))/(2*a);printf('Rootsare:%.2fand%.2f',r1,r2);}elseif(determinant==0){r1=r2=-b/(2*a);printf('Rootsare:%.2fand%.2f',r1,r2);}else{real=-b/(2*a);imag=sqrt(-determinant)/(2*a);printf('Rootsare:%.2f+%.2fiand%.2f-%.2fi',real,imag,real,imag);}return0;}输出1:

Entercoefficientsa,bandc:410Rootsare:0.00and-0.2514、C语言检查是否是闰年源代码:

输出1:

Enteryear:20002000isaleapyear.输出2:

输出3:

Enteryear:20122012isaleapyear.15、C语言检查一个数是正数、负数还是零源代码:

也可以使用if-else语句

/*Cprogrammingcodetocheckwhetheranumberisnegativeorpositiveorzerousingnestedif...elsestatement.*/#includeintmain(){floatnum;printf('Enteranumber:');scanf('%f',&num);if(num<0)/*Checkingwhethernumislessthan0*/printf('%.2fisnegative.',num);elseif(num>0)/*Checkingwhethernumisgreaterthanzero*/printf('%.2fispositive.',num);elseprintf('Youenteredzero.');return0;}输出1:

Enteranumber:-12.3-12.30isnegative.输出3:

/*Cprogrammingcodetocheckwhetheracharacterisalphabetornot.*/#includeintmain(){charc;printf('Enteracharacter:');scanf('%c',&c);if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))printf('%cisanalphabet.',c);elseprintf('%cisnotanalphabet.',c);return0;}输出1:

Enteracharacter:KKisanalphabet17、C语言计算自然数的和源代码:

也可以使用for循环语句

/*Thisprogramissolveusingforloop.*/#includeintmain(){intn,count,sum=0;printf('Enteraninteger:');scanf('%d',&n);for(count=1;count<=n;++count)/*forloopterminatesifcount>n*/{sum+=count;/*sum=sum+count*/}printf('Sum=%d',sum);return0;}输出:

也可以通过if-else语句

/*Thisprogramdisplayserrormessagewhenuserentersnegativenumberor0anddisplaysthesumofnaturalnumbersifuserenterspositivenumber.*/#includeintmain(){intn,count,sum=0;printf('Enteraninteger:');scanf('%d',&n);if(n<=0)printf('Error!!!!');else{for(count=1;count<=n;++count)/*forloopterminatesifcount>n*/{sum+=count;/*sum=sum+count*/}printf('Sum=%d',sum);}return0;}18、C语言计算阶乘对于任意正数n,阶乘指的是:

如果数值是负数,那么阶乘就不存在。并且我们规定,0的阶乘就是1。

/*Cprogramtodisplayfactorialofanintegerifuserentersnon-negativeinteger.*/#includeintmain(){intn,count;unsignedlonglongintfactorial=1;printf('Enteraninteger:');scanf('%d',&n);if(n<0)printf('Error!!!Factorialofnegativenumberdoesn'texist.');else{for(count=1;count<=n;++count)/*forloopterminatesifcount>n*/{factorial*=count;/*factorial=factorial*count*/}printf('Factorial=%lu',factorial);}return0;}

THE END
1.C语言常用算法归纳,零基础小白赶紧学起来!c语言算法在C语言的学习过程中,理解和掌握常用算法是非常重要的。这些算法不仅有助于我们解决实际问题,而且能够提高编程的效率和质量。以下是对C语言中常用算法的归纳和总结。 一、基本算法 1. 交换 交换算法是基础中的基础,通常借助一个临时变量来实现两个变量值的交换。 https://blog.csdn.net/weixin_49345320/article/details/142147152
2.C语言算法整理51CTO博客C语言算法整理 1.求素数和判断素数 方法一:.筛选法求素数 #include<stdio.h> void main() { int a[101],i,j; for(i=0;i<=100;i++) a[i]=1; for(i=2;i<=100;i++) { for(j=i+1;j<=100;j++) if(j%i==0) a[j]=0;https://blog.51cto.com/u_16658015/10286176
3.C语言必背18个经典程序,C语言初学者必会(收藏)C#.Net教程对于c语言来说,要记得东西其实不多,基本就是几个常用语句加一些关键字而已。你所看到的那些几千甚至上万行的代码,都是用这些语句和关键词来重复编写的。只是他们逻辑功能不一样,那如何快速的上手C语言代码,建议多看多写。 1、C语言必背18个经典程序第一个---乘法表。 用Chttps://www.php.cn/faq/493405.html
4.C语言必背100代码,C语言必会100代码大全对于c语言来说,要记得东西其实不多,基本就是几个常用语句加一些关键字而已。你所看到的那些几千甚至上万行的代码,都是用这些语句和关键词来重复编写的。只是他们逻辑功能不一样,那如何快速的上手C语言代码,建议多看多写,下面是小编整理的C语言必背100代码。https://www.nowcoder.com/discuss/390627384226062336?sourceSSR=dynamic
5.C语言100个经典算法+代码C语言100个经典算法+代码_c语言必背100代码,c语言必背代码Re**ew 上传154 KB 文件格式 doc C语言 算法 c语言必背100代码 c语言必背代码 C语言100个经典算法,入门级。新手可以看一看,对之后算法导论的学习很有帮助。点赞(0) 踩踩(0) 反馈 所需:3 积分 电信网络下载 https://www.coder100.com/index/index/content/id/1090232