⑴ c语言怎么用代码画出一个人
直接printf(),然后直接打印用 符号 * 或者 & 或者#组合出来的大字符串
⑵ c语言函数有什么用
C语言中的函数相当于其它高级语言的子程序。
C程序中大都只有一个主函数main(),
但实用程序往往由多个函数组成,通过对函数模块的调用实现特定的功能
.....
从函数定义的角度看,函数可分为库函数和用户定义函数两种。
1) 库函数:由C系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面各章的例题中反复用到printf、scanf、getchar、putchar、gets、puts、strcat 等函数均属此类。
2) 用户定义函数:由用户按需要写的函数。对于用户自定义函数,不仅要在程序中定义函数本身,而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。
⑶ 用C语言中的递归函数求1!+21!+31!+......+201! 要求先用一个函数描述递归过程,再用main函数
int func_plus(n){
return n=1?1:fun_plus(n-10)+func_mult(n);
}
int func_mult(n){
return n=1?1:func_mult(n-1)*n;
}
不好意思,难得周末打游戏去了。就是这个思路,主函数调用func_plus(201),来不及验证了。进地图啦
⑷ 如何用c语言来表达一个字符串
1)在串值后面加一个不计入长度的结束标记字符,比如'\0'来表示串值的终结
初始化一个字符串的方法如下,在最后添加'\0'
char str[] = {'I','a','m','h','a','p','p','y','\0'};
也可以直接使用字符串常量初始化字符数组(系统自动加上'\0'),这种方法符合人们的习惯。
char str[] = "I am happy";
或者
char str[] = {"I am happy"};
注意:不能使用下面的赋值方式:
char str[20];
str = "I am happy";
但可以用字符指针指向这个字符串:
char *str;
str = "I love China";
(2)将实际串长度值保存在数组0的下标下
#define MAXSIZE 20 //数组的长度
typdef char String[MAXSIZE+1];
初始化字符串的方法:
String t;
StrAssign(t,"I am happy");
int StrAssign(String T,char *chars)
{
T[0] = strlen(chars); //下标为0存放数组长度
for(i=1;i<=strlen(chars);i++) //下标位置从1开始存放数据
{
T[i] = *(chars+i-1);
}
return 1;
}
(3)使用结构体类型(自定义类型)
#define MAXSIZE 20
typedef struct{
char ch[MAXSIZE];
int len;
}String;
其中:MAXSIZE表示串的最大长度,ch是存储字符串的一维数组,len是字符串的长度
初始化函数示例:
String t;
StrAssign(&t,"I am happy");
int StrAssign(String *t,char *chars)
{
int i;
if(strlen(chars)>MAXSIZE+1) //字符串的长度大于数组的长度,操作失败,返回0
return 0;
for(i=0;i<strlen(chars);i++)
{
t->ch[i] = *(chars+i);
}
t->len = strlen(chars); //数组的长度
return 1; //返回1,操作成功
}
说明:这里的StrAssign函数的参数t使用的是指针,是因为结构体变量做做形参,用法和普通变量一样属于值传递方式,在子函数中要给t赋值,所以输入的是t的指针。与之对比的是(2)子函数中T是数组,传入的是数组的首地址(改变形参也就改变了实参)。
————————————————
版权声明:本文为CSDN博主“chenkaibsw”的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chenkaibsw/article/details/78957944
⑸ c语言编程。用c语言编程:输入某班学生某门课的成绩(最多不超过40人,具体人数由用户键盘输入),用
#include<stdio.h>
#defineN40
intmain()
{
inta[N],i,n,num=0;
printf("Thenumberofpeopleis:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("inputthescoreofstudent[%d]:",i+1);
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
if(a[i]<60)
{
num++;
}
}
printf("Thefailedstudentofnumberis%d ",num);
}
有问题继续提问
⑹ 用C语言怎么写函数
应该是[0,1)之间的随机数才对吧?
double fun(double x0,double m)
{double y;
srand(time(0));
y=(double)rand()/RAND_MAX;
return x0*exp(log(-log(1-y)/m));
}
应用此函数,应当包含头文件stdlib.h,time.h,和math.h。
⑺ 用C语言表示反正弦,反余弦,反正切函数
计算反正切函数(使用欧拉变换公式,精度很高),反正切函数的级数展开公式:
f(x) = x - x^3/3 + x^5/5 +...+ (-1)^k * x^(2k+1)/(2k + 1)+...
当|x| > 1时,级数绝对值发散,无法直接使用欧拉公式计算。因此可以通过下面的公式
进行等价转换之后再进行计算。
等价转换公式:
a) ATan(1/x) = Pi/2 - ATan(x)
b) ATan(-x) = - ATan(x)
特殊情况
0 = ArcTan(0)
Pi/2 = ArcTan(无穷大)
//
// 欧拉公式
//
// sum是和,term是通项值,jterm初始为1,以后按1递增。wrksp是工作单元,视jterm的
// 最大值而定。
//
void eulsum(int& nterm,double *sum,double term,int jterm,double wrksp[])
{
double tmp,m;
if(jterm == 1)
{
nterm = 1;
wrksp[1] = term;
*sum = 0.5 * term;
}
else
{
tmp = wrksp[1];
wrksp[1] = term;
for(int j=1; j <= nterm; j++)
{
m = wrksp[j+1];
wrksp[j+1] = 0.5 * (wrksp[j] + tmp);
tmp = m;
}
if(fabs(wrksp[nterm + 1]) <= fabs(wrksp[nterm]))
{
*sum = *sum + 0.5 * wrksp[nterm + 1];
nterm = nterm + 1;
}
else
{
*sum = *sum + wrksp[nterm + 1];
}
}
}
级数计算就不用我给代码了吧。
⑻ 在C语言中scanf("%f",&fahr,&cels) 是什么意思
在C语言中,scanf 是一个函数,用于从标准输入(例如键盘)读取数据。"%f" 是一个格式字符串,用于指定如何读取数据。在这种情况下,它指定了应该读取一个浮点数,并将其存储在变量 fahr 中。
紧接着的 &fahr 表示应将读取的数据存储到 fahr 变量中。这是因为在 C 语言中,许多函数(包括 scanf)需要您提供指向变量的指针,以便函数可以修改变量的值。因此,您通常会在变量名前面放一个 & 符号,以指示函数应将值存储到该变量中。
因此,在上面的代码中,scanf("%f",&fahr,&cels) 意味着:调用 scanf 函数,从标准输入中读取一个浮点数,并将其存储到 fahr 变量中。
但是,在这段代码中,存在一个错误,因为 scanf 函数后面只有一个变量(fahr),而没有第二个变量(cels)。这意味着,如果您尝试运行这段代码,您可能会收到一条编译错误消息,指出缺少一个变量。
正确的代码应该是这样的:
scanf("%f",&fahr);
或者,如果您想要同时读取两个浮点数,可以这样写:
scanf("%f%f",&fahr,&cels);
这样,scanf 函数就会从标准输入中读取两个浮点数,并将它们分别存储到 fahr 和 cels 变量中。
总之,scanf("%f",&fahr,&cels) 中的错误是指缺少了一个变量,应该改为 scanf("%f",&fahr) 或 scanf("%f%f",&fahr,&cels),具体取决于您想要读取的变量数量。
⑼ 用C语言表示:编写一个函数,打印一串星号,星号的数量由参数决定。急!,答得好加分
#include<stdio.h>
int main()
{
int n,i;
scanf("%d",&n);//输入数字
for(i = 0;i<n;i++) printf("*");//输出
printf("\n");
return 0;
}
⑽ 用C语言编写函数1-1/(2*2)-1/(3*3)-1/(4*4)-1/(m*m)
1 和i*i 都是 int 型,做除法会自动取整
把 s=1/(i*i); 改成 s=1.0/(i*i) 试试。