提问: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; }