在线等待,回答的好我会额外奖励分,最高限额+20。
我做判断三角形的程序,我想要的是建立一个数据输入文本,内容是用户随便添加的N组三角形边长如:
1 2 3
4 5 6
3 3 3
然后对每组数据进行判断。我完成了结果的文本输出。
我现在做的程序代码如下:
#include
#include
#include
float a;
float b;
float c;
int k;
void writefile(){
FILE* fp;
int i;
if((fp=fopen("result.txt", "a+"))==NULL) exit(0);
fprintf(fp,"%f %f %f",a,b,c);
switch(k)
{
case 5:fprintf(fp,"\t\t\t边长存在小数\n");break;
case 1:fprintf(fp,"\t\t\t输入越界\n");break;
case 2:fprintf(fp,"\t\t\t等边三角形\n");break;
case 3:fprintf(fp,"\t\t\t等腰三角形\n");break;
case 4:fprintf(fp,"\t\t\t普通三角形\n");break;
case 0:fprintf(fp,"\t\t\t非三角形\n");break;
default:fprintf(fp,"\t\t\tERROR\n");exit(0);}
fclose(fp); }
int main(){
char d='Y';
printf("请输入边长a,b,c(1~100的整数):\n");
while (d=='Y'){
scanf("%f %f %f",&a,&b,&c);
if(int(a)-a100)||(a100)||(b100)||cc)&&(a+c>b)&&(b+c>a)){
if((a==b)&&(b==c)) k=2;
else if(((a==b)||(b==c)||(a==c))&&(!((a==b)&&(b==c)))) k=3;
else k=4;}
else k=0;
writefile();
printf("是否继续输入?输入Y为继续输入,输入其他任意字符,则程序退出。");
scanf("%s",&d);}
return 0; }
我提问最主要的问题是建立 文本输入数据流 的解决方案,整数判断问题可以暂缓
确实是判断整数有问题,请赐教!
同时把文本输入的也指导下吧,呵呵
您的解释还是不能判断 如:3.0000和3的问题啊?
|