typedef struct Video {
char *name;
int unique_views;
} Video;
typedef struct Viewer {
char *username;
Video *watched_videos;
int watched_videos_size;
} Viewer;
int count_views(Viewer **viewers, int viewers_size, char *video_name)
{
//在此处实现
return -1;
}
#ifndef RunTests
int main()
{
Video videos[] = { {.name = "Soccer", .unique_views = 500},
{.name = "Basketball", .unique_views = 1000} };
Viewer viewer = {.username = "Dave", .watched_videos = videos,
.watched_videos_size = 2};
Viewer *viewers[] = { &viewer };
printf("%d", count_views(viewers, 1, "Soccer")); /* should print 1 */
}
#endif
这main里的不是C代码吧
#include <stdio.h>
#include <string.h>
typedef struct Video {
char *name;
int unique_views;
} Video;
typedef struct Viewer {
char *username;
Video *watched_videos;
int watched_videos_size;
} Viewer;
int count_views(Viewer **viewers, int viewers_size, char *video_name)
{
int i,j,count=0;
for(i=0;i<viewers_size;i++)
{
for(j=0;j<viewers[i]->watched_videos_size;j++)
{
if(strcmp(video_name,viewers[i]->watched_videos[j].name) == 0)
count += viewers[i]->watched_videos[j].unique_views;
}
}
if(count > 0)
return count;
return -1;
}
int main()
{
Video videos[] = { {"Soccer", 500},
{"Basketball",1000} };
Viewer viewer = {"Dave",videos,
2};
Viewer *viewers[] = { &viewer };
printf("%d", count_views(viewers, 1, "Soccer")); /* should print 1 */
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!