我该学习哪个人工智能系统
Description
在这人工智能蓬勃发展的今天,很多家公司都推出了机器人和AI平台,比如百度的paddlepaddle,谷歌的TensorFlow,facebook torch,而在应用方面则更多,有很多家的公司都推出了应用,机器视觉,指纹识别,人脸识别,视网膜识别,虹膜识别,掌纹识别,专家系统,自动规划,智能搜索,定理证明,博弈,自动程序设计,智能控制,机器人学,语言和图像理解,遗传编程等很多方面成为人工智能的应用。对于喜欢AI的你,面对如此多的公司的应用,希望能按照人工智能学习的价值进行一个排序,然后去有针对性的去了解。
Input
多组测试数据,先输入一个整数t表示组数,然后每组先输入一个整数n(n<=20),随后是n行,每行分别是三部分,用空格隔开,分别为公司名称(由不超过10个的大小写字母组成),产品名称(由不超过15个的大小写字母组成),学习价值(一个正整数)
Output
对于每组测试数据,你需要输出3行,第1行为公司名称,第2行为产品名称,第3行为学习价值,每行的数据均需按照学习价值从高到低的顺序输出
Sample Input
1
3
google TensorFlow 88
baidu paddlepaddle 90
facebook torch 83
Sample Output
baidu google facebook
paddlepaddle TensorFlow torch
90 88 83
#include<stdio.h>
struct xt{
char name[20];
char nam[20]; //我在这里WA了好几次,越往大里开越好
int jz;
};
int main()
{
struct xt s[50],temp;
int T,n,i,j;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
// getchar(); //最好写
for(i=0;i<n;i++)
scanf("%s%s%d",s[i].name,s[i].nam,&s[i].jz);
// getchar(); //最好写
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(s[i].jz<s[j].jz)
{
temp=s[i];
s[i]=s[j];
s[j]=temp;
}
}
for(i=0;i<n-1;i++)
printf("%s ",s[i].name);
printf("%s\n",s[n-1].name);
for(i=0;i<n-1;i++)
printf("%s ",s[i].nam);
printf("%s\n",s[n-1].nam);
for(i=0;i<n-1;i++)
printf("%d ",s[i].jz);
printf("%d\n",s[n-1].jz);
}
}
同学的代码,了解一下
#include<stdio.h>
#include<algorithm>
using namespace std;
struct node
{
char cn[20],pn[20];//cn--公司名字,pn--产品名字
int v;
}a[30];
bool cmp(node a,node b)
{
return a.v>b.v;
}
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
getchar();
for(int i=0;i<n;i++)
{
scanf("%s",a[i].cn);
scanf("%s",a[i].pn);
scanf("%d",&a[i].v);
}
sort(a,a+n,cmp);
for(int i=0;i<n-1;i++)
printf("%s ",a[i].cn);
printf("%s\n",a[n-1].cn);
for(int i=0;i<n-1;i++)
printf("%s ",a[i].pn);
printf("%s\n",a[n-1].pn);
for(int i=0;i<n-1;i++)
printf("%d ",a[i].v);
printf("%d\n",a[n-1].v);
}
return 0;
}
cmp是自定义的,而sort 是按从小到大的顺序排序,如果要从大到小
就要
int cmp(int x,int y)
{
return x>y;
}
在主函数里的表述是sort(a,a+n,cmp)
sort函数头文件是#include <algorithm>
PS如果int a[100],就是对a[0]~a[99]的函数进行排序,写成sort(a,a+100)