A. C语言编程题
根据题意:
题目1:函数参数是除数(这里传值8),返回满足条件的数字和。
题目2:函数参数是要找的项目数(这里传值10),返回对应项的值。
#include<stdio.h>
#define MIN 50
#define MAX 1000
int fa(int a);//对应题目1的函数,参数:要除的数,返回可以被整除的数之和
int getByIndex(int n);//对应题目2,返回数列第n项,错误返回-1
int main()
{
printf("1、%d~%d之间能被%d整除的数字之和为:%d ",MIN,MAX,8,fa(8));
printf("2、数列头三个数为4,5,6,以后的每个数为前三数和,求此数列第%d项:%d ",10,getByIndex(10));
return 0;
}
int fa(int a)//对应题目1的函数,参数:要除的数,返回可以被整除的数之和
{
int i,sum=0;
for(i=MIN;i<=MAX;i++)
if(i%a==0)
sum+=i;
return sum;
}
int getByIndex(int n)//对应题目2,返回数列第n项,错误返回-1
{
if(n<1)
return -1;
int i,nums[n];
nums[0]=4,nums[1]=5,nums[2]=6;
for(i=3;i<n;i++)
nums[i]=nums[i-1]+nums[i-2]+nums[i-3];
return nums[n-1];
}
B. C语言编程题
1.
#include<stdio.h>
int calc(int profit)
{
float sal=500;
if(profit<=2000&&profit>1000) sal+=(0.1*profit);
else if(profit>2000&&profit<=5000) sal+=(0.2*profit);
else if(profit>5000&&profit<=10000) sal+=(N*profit); //估计你这里少了5000-10000的提成率,补上后只需要把N换成提成率就ok了
else if(profit>10000) sal+=(0.25*profit);
return sal;
}
int main()
{
int p;
printf("enter profit:\n");
scanf("%d",&p);
printf("result:%d\n",calc(p));
return 0;
}
2.
#include<stdio.h>
int main()
{
int i;
for(i=200;i<=300;++i)
if(!i%7) printf("%d\n",i);
return 0;
}
3.这个题我估计是2n-1,奇数相加,楼主应该是多打了括号
#include<stdio.h>
int calc(int n)
{
int i,sum=0;
for(i=1;i<=n;++i)
sum+=(2*i-1);
return sum;
}
int main()
{
int n;
printf("enter n:\n");
scanf("%d",&n);
printf("result:%d\n",calc(n));
return 0;
}
4.
这道题楼主应该是想从大到小排序输出吧
我用的是冒泡排序
#include<stdio.h>
int main()
{
int a[10],i,j;
int t;
printf("enter number(10):\n");
for(i=0;i<10;++i)
scanf("%d",a+i);
for(j=9;j>0;--j) //冒泡排序
for(i=0;i<j;++i)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=9;i>=0;--i)
printf("%d\n",a[i]);
return 0;
}
程序已测试,网络不让贴图,我就不粘了,有问题请追问
各位大神,不要,求你们了……