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位,在线等!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)