软件工程白盒测试
程序员文章站
2022-04-10 20:09:25
...
判断输入三个数据 是否可以构成三角形
编译环境:Dev C++ 5.6.1
/*
** 头文件 Powered by wang_huizhang
*/
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
using namespace std;
/*
** 全局字符串变量,一些错误提示;
*/
char error_bigger[40]= "input bigger than 100\n";
char error_notInt[40]= "your input is not an interger\n";
/*
** 全局变量,用于三角形三边的输入。
*/
char aString[100],bString[100],cString[100];//输入的字符串。
int a,b,c;//把字符串转换为整数存这。非法则存0。
/*
** 转化函数。
** 把输入的字符转化为 1-100 之间的整数。
** 格式错误和数值超过100则 抛出异常。error_notInt error_bigger
*/
int makeStringToInt(char s[])
{
int res=0;
int i=0;
while(i<100&&s[i]!='\0')
{
if(s[i]>='0'&&s[i]<='9')
{
res=res*10+s[i]-'0';
i++;
if(res>100)
{
throw error_bigger;
}
}
else
{
throw error_notInt;
i++;
break;
}
}
return res;
}
/*
** 输入函数。用户三角形三边的初始化。
*/
void putIn()
{
// 输入 a边。
printf("please give a value to A:_____\b\b\b");
scanf("%[^\n]",aString);
try
{
a=makeStringToInt(aString);
}
catch(char s[])
{
cerr<<s<<endl;
exit(1);
}
fflush(stdin);
// 输入 b边。
printf("please give a value to B:_____\b\b\b");
scanf("%[^\n]",bString);
try
{
b=makeStringToInt(bString);
}
catch(char s[])
{
cerr<<s<<endl;
exit(2);
}
fflush(stdin);
// 输入 c边。
printf("please give a value to C:_____\b\b\b");
scanf("%[^\n]",cString);
try
{
c=makeStringToInt(cString);
}
catch(char s[])
{
cerr<<s<<endl;
exit(3);
}
fflush(stdin);
return ;
}
/*
** 检测三边是否可构成三角形。
*/
bool isLegal()
{
return (a+b>c)&&(a+c>b)&&(b+c>a);
}
int main()
{
putIn();
bool res=isLegal();
if(res)
{
printf("abc可以作为三角形三边。\n");
}
else
{
printf("abc不能构成三角形。\n");
}
return 0;
}
实现对不少于10个随机数的冒泡排序算法
#include<cstdio>
#include<ctime>
#include<cstdlib>
int numArray[1000];
int numSize;
void print(int size)
{
for(int i=1;i<=size;i++)
{
printf("%5d\t",numArray[i]);
if(i%5==0)
{
printf("\n");
}
}
}
void init0()
{
printf("输入要排序的个数____(int)\b\b\b\b\b\b\b");
scanf("%d",&numSize);
for(int i=1;i<=numSize;i++)
{
numArray[i]=rand()%1000+1;
}
printf("输入的数为:\n");
print(numSize);
}
void bubble(int size)
{
int temp;
for(int i=1;i<size;i++)
{
for(int j=1;j<=size-i;j++)
{
if(numArray[j]>numArray[j+1])
{
temp=numArray[j];
numArray[j]=numArray[j+1];
numArray[j+1]=temp;
}
}
}
}
int main()
{
srand(time(0));
init0();
bubble(numSize);
printf("\n冒泡排序后:\n");
print(numSize);
return 0;
}
下一篇: Python发手机短信