网络ping值高:求c语言高手编个小程序

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 12:10:10
计算z值,x的值由键盘输入。
4x+1000 ( 0<=x<20 )
3x+100 ( 20<=x<40 )
z = 2x+10 ( 40<=x<80 )
x ( 80<=x<100)
0 (100<=x )
计算z值,x的值由键盘输入。
4x+1000 ( 0<=x<20 )
3x+100 ( 20<=x<40 )
2x+10 ( 40<=x<80 )
x ( 80<=x<100)
0 (100<=x )
z =

#include<stdio.h>
main(){
int x,z;
printf("请输入x的值:\n");
scanf("%d",&x);
if(0<=x&&x<20){
z=4*x+1000;
printf("z=%d",z);
}
else if(20<=x&&x<40 ){
z=3*x+100;
printf("z=%d",z);
}
else if(40<=x&&x<80){
z=2*x+10;
printf("z=%d",z);
}
else if(80<=x&&x<100){
z=x;
printf("z=%d",z);
}
else if(100<=x){
z=0;
printf("z=%d",z);
}
else{
printf("你输入的x值不合题意");
}
}

分太少了!
#include"stdio.h"
main()
{
int x,z;
printf("enter x:");
scanf("%d",&x);
switch(x/20)
{
case 0:z=4*x+1000;
printf("z=%d",z);break;
case 1:z=3*x+100;
printf("z=%d",z);break;
case 2:case 3:z=2*x+10;
printf("z=%d",z);break;
case 4:z=x;
printf("z=%d",z);break;
case 5:z=0;
printf("z=%d",z);break;
defaule :z=0;
printf("z=%d",z);break;

}
getch();
}

int main(int argc, char* argv[])
{
int x;
int z=-1;
x=getchar();
if(x>=0 && x<20)
z=4*x+1000;
else if(x>=20 && x<40)
z=3*x+100;
else if(x>=40 && x<80)
z=2*x+10;
else if(x>=80 && x<100)
z=x;
else if(x>=100)
z=0;
else if(x<0)
printf("请输入一个大于等于零的数\n");
printf("%d\n",z);

return 0;
}
输出:
67
118
Press any key to continue

垃圾嫌分少。。
给你分多有什么用。。。

没看明白你的问题是分段函数么?
z=4x+1000 ( 0<=x<20 )
z=3x+100 ( 20<=x<40 )
z=2x+10 ( 40<=x<80 )
z=x ( 80<=x<100)
z=0 (100<=x )
如果是这样的话,这个程序很好做的。我帮你做下吧
#include <stdio.h>
int main(void)
{
int x,z;
printf("\nInput x\n");
scanf("%d",&x);
z=x>=100?0:(x>=80?x:(x>=40?2*x+10:(x>=20?3*x+100:(x>=0?4*x+1000:printf("\Input error!\n")))));
printf("z=%d\n",z);
getch();
return 0;
}

我写了一个,楼主试试
#include<stdio.h>
int main()
{ int x,z;
scanf("%d",&x);
if(x<0)
{printf("please put a right x\n"); return(8);}
if(x>=100)
z=0;
else if(x>=80)
z=x;
else if(x>=40)
z=2*x+10;
else if(x>=20)
z=3*x+100;
else if(x>=0)
z=4*x+1000;
printf("%d\n",z);
return 0;
}

这种问题也问??只是一个多分支选择问题而已