C语言判断三角形的类型,如果只输入一条边,则提示错误这个命令怎么做啊

C语言判断三角形的类型,如果只输入一条边,则提示错误这个命令怎么做啊

1 个回答

DanaElano

提问:C语言判断三角形的类型,如果只输入一条边,则提示错误这个命令怎么做啊

网友回答:

一般情况,C的scanf会自动接收你给定的参数个数,不会报错的

你的这个要自己先输入一个串,然后分析取出3个数据

以下我用strtok写的参考(你也可以自己循环分析输入数据)

我的输入,可以用逗号或空格分开

三角形的类型就自己判断下吧

#include<stdio.h> #include <string.h> int getabc(char *s,int *a,int *b,int *c) {    int ct=0;    int v[10]={0};    char *p = strtok(s, ", ");   if (p)     v[ct++]=atoi(p);   while(p = strtok(NULL, ", "))     v[ct++]=atoi(p);   if (ct==3)   {       *a=v[0];       *b=v[1];       *c=v[2];       return 1;   }   return  0; } int main() {   char s[1024];   int a,b,c;   gets(s);   while(!getabc(s,&a,&b,&c))     {         printf("输入错,请重新输入\n");         gets(s);     }   printf("三条边为:%d %d %d\n",a,b,c);   return 0; }

  • 1 关注
  • 0 收藏, 浏览
  • 提出于

相似问题