C 语言的一些经典题目
1.求两个数的最大值
#include <stdio.h>
#include <stdlib.h>
main()
{
int a,b,c;
int max(int x,int y);
printf("请输入要比较的两个数 !\n");
scanf("%d %d",&a,&b);
c=max(a,b);
printf("要比较的两个数的最大值是:%d\n",c);
system("pause");
}
int max(int x,int y)
{
int z;
z=x>y?x:y;
}
2.交换两个数的值
#include <stdio.h>
#include <stdlib.h>
main()
{
int *a,*b;
int swap(int *x,int *y);
printf("请输入要交换的两个数 !\n");
scanf("%d %d",&a,&b);
printf("交换前的两个数为:%d %d\n",a,b);
swap(&a,&b);
printf("交换后的两个数为:%d %d\n",a,b);
system("pause");
}
int swap(int *x,int *y)
{
int tmp;
tmp=*x;
*x=*y;
*y=tmp;
}
3.利用冒泡排序算法实现排序的功能
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
//利用冒泡排序法实现排序的功能
int a[MAX];
main()
{
int i;
int sort();
printf("请输入要利用冒泡排序法进行排序的数\n");
for(i=0;i<MAX;i++)
{
scanf("%d",&a[i]);
}
printf("利用冒泡排序法进行排序前的数\n");
for(i=0;i<MAX;i++)
{
printf("%4d",a[i]);
}
printf("\n");
//调用冒泡排序函数
sort();
printf("利用冒泡排序法进行排序后的数\n");
for(i=0;i<MAX;i++)
{
printf("%4d",a[i]);
}
system("pause");
}
int sort()
{
int i,j,tmp;
for(i=0;i<=MAX-2;i++)
{
for(j=0;j<MAX-i-1;j++)
if(a[j]>a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
4.利用选择排序的方法进行排序的实现
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
//利用选择排序法实现排序的功能
int a[MAX];
main()
{
int i;
int selectsort();
printf("请输入要利用选择排序法进行排序的数\n");
for(i=0;i<MAX;i++)
{
scanf("%d",&a[i]);
}
printf("利用选择排序法进行排序前的数\n");
for(i=0;i<MAX;i++)
{
printf("%4d",a[i]);
}
printf("\n");
//调用选择排序函数
selectsort();
printf("利用选择排序法进行排序后的数\n");
for(i=0;i<MAX;i++)
{
printf("%4d",a[i]);
}
system("pause");
}
int selectsort()
{
int i,j,tmp,p;
for(i=0;i<MAX-1;i++)
{
p=i;
for(j=i+1;j<MAX;j++)
if(a[j]<a[p])
p=j;
if(p!=i)
{
tmp=a[p];
a[p]=a[i];
a[i]=tmp;
}
}
}
5.随机数加减法的问题
效果如图:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>//使用当前时钟做种子
void main( void )
{
int i,j,k,m,n;
int add(int x,int y);
int sub(int x,int y);
int mul(int x,int y);
int divis(int x,int y);
srand((int)time(0));
loop:
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
k=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf("产生的随机数j=%d\tk=%d\n",j,k);
printf("请输入你想进行的操作:1、加法运算 2、减法运算 3.乘法运算 4、除法运算\n");
scanf("%d",&m);
switch(m)
{
case 1:
printf("两个数的和是:");
add(j,k);
break;
case 2:
printf("两个数的差是:");
if(j>k)
{
sub(j,k);
}else{
printf("减数小于被减数--Divide Overflow\n");
}
break;
case 3:
printf("两个数的积是:");
mul(j,k);
break;
case 4:
printf("两个数的商是:");
divis(j,k);
break;
default:
printf("运算出错,出现异常!!");
break;
}
printf("你想继续进行操作么?1,继续 2、退出");
scanf("%d",&i);
switch(i)
{
case 1:
goto loop;
break;
case 2:
printf("成功退出!!");
}
system("pause");
}
int add(int x,int y){
int z;
z=x+y;
printf("%d\n",z);
return 0;
}
int sub(int x,int y){
int z;
z=x-y;
printf("%d\n",z);
return 0;
}
int mul(int x,int y){
int z;
z=x*y;
printf("%d\n",z);
return 0;
}
int divis(int x,int y){
int z;
z=x/y;
printf("%d\n",z);
return 0;
}
6.求N的阶乘的方法
运行结果:
#include<stdio.h>
int main()
{
int result=1,num;
printf("请输入要求的阶乘数\n");
scanf("%d",&num);
for(int i=1;i<=num;i++)
{
result=result*i;
}
printf("%d的阶乘是%d",num,result);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!