导航:首页 > 源码编译 > c语言算法编程题

c语言算法编程题

发布时间:2023-02-07 21:49:27

㈠ c语言编程题,计算平均数

#include "stdio.h"
int main()
{
int a,b,c,sum;
float average;
scanf("%d%d%d",&a,&b,&c);
sum=a+b+c;
average = (float)sum/3;
printf("%d ",sum);
printf("%.2f ",average);
return 0;
}

㈡ C语言编程题 计算Cmn

Cmn是一个数学上的公式,其中m是其的下角标,n是其的上角标。计算方法是

m×(m-1)×(m-2)×……共有n项的乘积,然后除以n的阶乘

用C语言做这个计算的编程,步骤如下:

1、首先需要读取m和n的值,然后在读取的同时进行判断是否满足m>0、n>0、m>=n的条件,如果不满足要求重新输入。

2、然后可以构建两个函数fun1和fun2,其中fun1的参数有两个m和n,利用循环控制求出m×(m-1)×(m-2)×······;fun2的参数只有一个,用来求n的阶乘。

3、返回值,有两种方法:(1)fun1和fun2返回整型值到主函数,强制转换成float型;(2)直接在fun1和fun2函数中将返回值强制转换成float型,然后返回到主函数进行计算。

4、在主函数中计算两个返回值的差,最后输出。

具体代码如下:(精度不够请把 int 换成 long long)

#include<stdio.h>

intfun1(intm,intn){
inti,result;
for(result=m,i=1;i<n;i++){
result*=--m;
}
returnresult;
}

intfun2(intn){
intresult;
for(result=n;n>2;){
result*=--n;
}
returnresult;
}

intmain(){
intm,n,result,x,y;
printf("请输入大于零的整数m:");
while(1){
scanf("%d",&m);
if(m>0)
break;
printf(" 输入有误,请重新输入大于零的整数m:");
}

printf(" 请输入大于零且小于等于%d的整数n:",m);
while(1){
scanf("%d",&n);
if(n>0&&n<=m)
break;
printf(" 输入有误,请重新输入大于零且小于等于%d的整数n:",m);
}

x=fun1(m,n);
y=fun2(n);
result=x/y;

printf(" 结果是:%d ",result);
return0;
}

㈢ c语言编程题:分别用冒泡法和选择法对输入的10个整数由大到小排序

#include<stdio.h>
#defineN10
//冒泡排序(升序)
voidbubble_sort(inta[],intn)
{
inti,j;//j表示趟数,i表示第j趟两两比较的次数
inttmp;//临时变量
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
{
if(a[i]>a[i+1])
{
tmp=a[i];
a[i]=a[i+1];
a[i+1]=tmp;
}
}
}
//选择排序算法,按从小到大顺序
voidselect_sort(int*array,intn)
{
inti,j,k;
inttmp;
for(i=0;i<n-1;i++)
{
k=i;//开始一趟选择排序,假定第i个元素是后面n-i+1个未排序的元素中最小的元素
for(j=i+1;j<n;j++)
{
if(array[k]>array[j])//如果发现比当前最小元素还小的元素,则更新记录最小元素的下标k
k=j;
}
//如果最小元素的下标不是后面n-i+1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置
if(k!=i)
{
tmp=array[k];
array[k]=array[i];
array[i]=tmp;
}
}
}
//输入数组元素函数
voidinputData(int*a,intn)
{
inti;
printf("输入数组元素: ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
}
//输出数组元素函数
voidoutputData(int*a,intn)
{
inti;
printf("输出数组元素: ");
for(i=0;i<n;i++)
printf("%d",a[i]);
printf(" ");
}
intmain()
{
intarr[N]={0};
inputData(arr,N);
printf("使用冒泡排序算法... ");
bubble_sort(arr,N);//调用冒泡排序函数
outputData(arr,N);
inputData(arr,N);
printf("使用选择排序算法... ");
select_sort(arr,N);//调用选择排序函数
outputData(arr,N);
return0;
}

㈣ 咨询3道C语言编程题解题代码,和具体算法

第二题:char* Mystrcpy(char* _p1,char* _p2){if(strlen(_p1)<strlen(_p2)){printf("error!");}memset(_p1,'\0',strlen(_p1)+1);for(int i=0;i<strlen(_p2);i++){_p1[i]=_p2[i];}return _p1;}

㈤ C语言编程题:输入4个整数,要求按由小到大顺序输出怎么编啊

利用函数的模块化设计。

1、完成整体函数格局,输入、排序、输出。

执行结果同上。

㈥ 收集各类贪心算法(C语言编程)经典题目

举个例子,假如你买东西,老板需要找给你99分钱,他有上面面值分别为25分,10分,5分,1分的硬币(都是假如,不符合实际),他得找你3个25分,2个10分的,4个1分的才为最佳方案!
用贪心算法编写程序实现!
main()
{
int
i,a[5],b[4],c[4];
/*
define
the
type
of
the
money*/
a[1]=25;
a[2]=10;
a[3]=5;
a[4]=1;
printf("please
input
you
money
(fen):\n");
scanf("%d",&b[0]);
for
(i=1;i<=4;i++)
{
b[i]=b[i-1]%a[i];
/*take
n
25
off
and
money
left*/
c[i]=(b[i-1]-b[i])/a[i];
/*
n
*/
printf("%d
is
%d\n",a[i],c[i]);
}
getch();
}

㈦ c语言编程题 计算并输出3到n之间所有素数的平方根之和

#include<stdio.h>

#include<math.h>

int isprime(intn)

{for(inti=2;i*i<=n;i++)

if(n%i==0)return 0;

return n>1;

}

int main()

{int n,i;

double s=0;

scanf("%d",&n);

for(i=3;i<=n;i+=2)

if(isprime(i))s+=sqrt(i);

printf("%.3lf ",s);

return 0;

}

输出结果

(7)c语言算法编程题扩展阅读

求3-N间所有素数的平方根之和

#include<math.h>

#include<stdio.h>

doubl efun(intn)

{

doubles=0.0;

inti,j,flag=1;

for(i=3;i<=n;i++)

{

for(j=2;j<i;j++)

{

if((i%j==0)&&(j>=(i+1)))

{

flag=0;

break;

}

}

if(flag==1)

s+=sqrt(i);

}

returns;

阅读全文

与c语言算法编程题相关的资料

热点内容
iphone上的数据怎么转移到安卓 浏览:743
python求每个时段平均值 浏览:244
安卓手机右上出现Hg什么意思 浏览:69
程序员神经 浏览:753
dns服务器在电脑上有什么用 浏览:915
杭州大妈喜欢程序员 浏览:686
python评论树讲解 浏览:679
juniper防火墙常用命令 浏览:426
vapp怎么下载地址 浏览:11
pdf里面内容怎么修改 浏览:807
收藏网址加密的浏览器 浏览:1000
phpurl问号 浏览:898
什么笔记本电脑可以用python 浏览:135
加密相册如何翻找 浏览:992
泰州地区DNS服务器地址 浏览:849
一种app可以买菜用英语怎么说 浏览:196
中国联通app里面通话详单怎么删除 浏览:505
计算机网络编译软件 浏览:100
程序员说不能说的秘密 浏览:700
在线shell编译器 浏览:103