c语言编写程序题: 计算分段函数,f(x)={ 2x+1(当x>0时) 0(当x=0时) 1x(当x<0时)输入x,计算函数并输出,

c语言编写程序题: 计算分段函数,f(x)={ 2x+1(当x>0时) 0(当x=0时) 1x(当x<0时)输入x,计算函数并输出,,第1张

main(){

float x;

scanf("%f",x);

if(x>0) {prinf("f(x)=%f",2x+1);}

else if(x==0){prinf("f(x)=%f",0);}

else prinf("f(x)=%f",1/x);

}

你上面有比较多的错误,但我看了下程序,这个

程序的目的我也大概知道了,

move()的目的就是将字符串的最后一个元素移动到字符串的第一个元素,其他元素一次向后移动一位

比如对字符串abcdefg执行一次move()之后的结果

为gabcdef

我修改了你的代码,现在可以运行了,

#include<stdioh>

#include<stringh>

move (char str,int n)

{

char temp;

int i;

temp=str[n-1];

for(i=n-1;i>0;i--)str[i]=str[i-1];

str[0]=temp;

}

main()

{

char s[50];

int n,i,z;

//scanf("%d,%s",&n,s);

scanf("%d\n",&n);

gets(s);

z=strlen(s);

for(i=1;i<=n;i++)move(s,z);

printf("%s ",s);

}

当输入3 abcde后输出cdeab;

因为是执行三次move()循环 *** 作

第一次循环后变成eabcd

第二次循环后变成deabc

第三次循环后变成cdeab

另外,你没有必要输入逗号,你只要输入空格或回车就可以将输入n的值和字符串分开了

这类题有了小数点后精度要求,就不宜再输入项数N了,否则在N较小情况下就不可能达到精度要求了。正确解法是判断当前项的值的精度,精度达到要求后就可终止计算。比如这里要求精确到小数点后6位,就可考虑当前项的值小于等于00000001时终止,因为增加或减少一个影响力不超过小数点后7位的数是不会影响到小数点后6位的精度的。举例如下:

#include "stdioh"

int main(int argc,char argv[]){

int i;

double s,t;

for(s=0,t=i=1;t>00000001;s+=(t=10/i),i+=2);

printf("s≈%6f\n",s); 

return 0;

}

试运行结果如图:

'4、执行下列程序,会打印出:___50__80 60 40 20____。

x = 5

Y = 10

Do Until x = 0

Print x Y;

For i = 1 To 5

Y = 20

Next i

x = x - 1

Loop

'x=5时,执行print xy输出50;x=4时,执行print xy输出80;x=3时,执行print xy输出60;

'x=2时,执行print xy输出40;x=1时,执行print xy输出20;x=0时,循环结束

'5、单击命令按钮后,会打印出:_________

Private Sub Command1_Click()

x$ = "abcdefghijkl"

d = Asc("a") - Asc("A") '大小写字母的ascii码差是32,所以d的值是32

n% = Len(x) '字符串x的长度是12

Y$ = ""

For i = n To 1 Step -2

Y = Chr(Asc(Left(x, i)) - d) + Y

Next i

Print Y '执行print y ,输出 "AAAAAA"

End Sub

'当i=n时,也就是12,left(x,i)="abcdefghijkl",asc(left(x,i))计算时只取了第一个字母,实际计算结果是asc("a")的值,减去d为大写的"A"的ascii码,chr()函数将其转化为大写字母"A",Y=Chr(Asc(Left(x, i)) - d) + Y="A"+""="A"

'当i=10,left(x,i)="abcdefghij",asc(left(x,i))计算时只取了第一个字母,实际计算结果是asc("a")的值,减去d为大写的"A"的ascii码,chr()函数将其转化为大写字母"A",Y=Chr(Asc(Left(x, i)) - d) + Y="A"+"A"="AA"

'当i=8,left(x,i)="abcdefgh",asc(left(x,i))计算时只取了第一个字母,实际计算结果是asc("a")的值,减去d为大写的"A"的ascii码,chr()函数将其转化为大写字母"A",Y=Chr(Asc(Left(x, i)) - d) + Y="A"+"AA"="AAA"

'当i=6,left(x,i)="abcdef",asc(left(x,i))计算时只取了第一个字母,实际计算结果是asc("a")的值,减去d为大写的"A"的ascii码,chr()函数将其转化为大写字母"A",Y=Chr(Asc(Left(x, i)) - d) + Y="A"+"AAA"="AAAA"

'当i=n4,left(x,i)="abcd",asc(left(x,i))计算时只取了第一个字母,实际计算结果是asc("a")的值,减去d为大写的"A"的ascii码,chr()函数将其转化为大写字母"A",Y=Chr(Asc(Left(x, i)) - d) + Y="A"+"AAAA"="AAAAA"

'当i=n2,left(x,i)="ab",asc(left(x,i))计算时只取了第一个字母,实际计算结果是asc("a")的值,减去d为大写的"A"的ascii码,chr()函数将其转化为大写字母"A",Y=Chr(Asc(Left(x, i)) - d) + Y="A"+"AAAAA"="AAAAAA"

'当i=0,循环结束

'6 下述单击命令按钮后的输出结果_______________

Private Sub Command1_Click()

Dim arr1(10) As Integer, arr2(10) As Integer

n = 4

For i = 5 To 1 Step -2

arr1(i) = i

arr2(n) = 2 n + i

Next i

Print arr2(n); arr1(n) '输出 arr2(4)和arr1(4);也就是9 0

End Sub

'当i=5时,arr1(5)=5:arr2(4)=24+5=13

'当i=3时,arr1(3)=3:arr2(4)=24+3=11

'当i=1时,arr1(1)=1:arr2(4)=24+1=9

'当i=-1时,循环结束

'由于arr1(4)没被赋值,是0

单道程序,你肯定知道是同时只能进行一个作业,所以15+4+12=31,

而多道程序,可以同时进行多个作业,可以一边计算,一边打印 最少就是max(15+4,12)=19,这个只是最少,但往往并不是19分钟,这个主要取决于,打印的数据和计算的数据之间的关系,

以上就是关于c语言编写程序题: 计算分段函数,f(x)={ 2x+1(当x>0时) 0(当x=0时) 1/x(当x<0时)输入x,计算函数并输出,全部的内容,包括:c语言编写程序题: 计算分段函数,f(x)={ 2x+1(当x>0时) 0(当x=0时) 1/x(当x<0时)输入x,计算函数并输出,、C语言程序计算题、本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和.求精确到小数点6位,在线等!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10213210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存